From d16bbdccbb1205aedae51a343a460f4c0777ce9d Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 15:36:17 +0400 Subject: [PATCH 01/77] ci: add action checks workflows --- .github/dependabot.yml | 11 +++++ .github/workflows/check-dist.yml | 53 ++++++++++++++++++++ .github/workflows/codeql-analysis.yml | 71 +++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/check-dist.yml create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..bb85b6f9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: daily + + - package-ecosystem: npm + directory: / + schedule: + interval: daily diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml new file mode 100644 index 00000000..99c1f04a --- /dev/null +++ b/.github/workflows/check-dist.yml @@ -0,0 +1,53 @@ +# `dist/index.js` is a special file in Actions. +# When you reference an action with `uses:` in a workflow, +# `index.js` is the code that will run. +# For our project, we generate this file through a build process from other source files. +# We need to make sure the checked-in `index.js` actually matches what we expect it to be. +name: Check dist/ + +on: + push: + branches: + - main + paths-ignore: + - '**.md' + pull_request: + paths-ignore: + - '**.md' + workflow_dispatch: + +jobs: + check-dist: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set Node.js 16.x + uses: actions/setup-node@v3.6.0 + with: + node-version: 16.x + + - name: Install dependencies + run: npm ci + + - name: Rebuild the dist/ directory + run: | + npm run build + npm run package + + - name: Compare the expected and actual dist/ directories + run: | + if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then + echo "Detected uncommitted changes after build. See status below:" + git diff + exit 1 + fi + id: diff + + # If index.js was different than expected, upload the expected version as an artifact + - uses: actions/upload-artifact@v3 + if: ${{ failure() && steps.diff.conclusion == 'failure' }} + with: + name: dist + path: dist/ diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..a0c7417b --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,71 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ main ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ main ] + schedule: + - cron: '31 7 * * 3' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'TypeScript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://git.io/codeql-language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + source-root: src + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 From f58691ec6f2d05eaefb98707c21c07fbff02c3f3 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 15:47:03 +0400 Subject: [PATCH 02/77] feat: init typescript action --- .eslintignore | 4 + .eslintrc.json | 55 + .gitattributes | 1 + .gitignore | 99 + .prettierignore | 3 + .prettierrc.json | 10 + action.yml | 11 + jest.config.js | 9 + package-lock.json | 6231 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 43 + src/main.ts | 16 + tsconfig.json | 12 + 12 files changed, 6494 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 action.yml create mode 100644 jest.config.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/main.ts create mode 100644 tsconfig.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..42ceb9a5 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +dist/ +lib/ +node_modules/ +jest.config.js diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..71ee5451 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,55 @@ +{ + "plugins": ["jest", "@typescript-eslint"], + "extends": ["plugin:github/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 9, + "sourceType": "module", + "project": "./tsconfig.json" + }, + "rules": { + "i18n-text/no-en": "off", + "eslint-comments/no-use": "off", + "import/no-namespace": "off", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": "error", + "@typescript-eslint/explicit-member-accessibility": ["error", {"accessibility": "no-public"}], + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/array-type": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/ban-ts-comment": "error", + "camelcase": "off", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}], + "@typescript-eslint/func-call-spacing": ["error", "never"], + "@typescript-eslint/no-array-constructor": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-extraneous-class": "error", + "@typescript-eslint/no-for-in-array": "error", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-non-null-assertion": "warn", + "@typescript-eslint/no-unnecessary-qualifier": "error", + "@typescript-eslint/no-unnecessary-type-assertion": "error", + "@typescript-eslint/no-useless-constructor": "error", + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/prefer-for-of": "warn", + "@typescript-eslint/prefer-function-type": "warn", + "@typescript-eslint/prefer-includes": "error", + "@typescript-eslint/prefer-string-starts-ends-with": "error", + "@typescript-eslint/promise-function-async": "error", + "@typescript-eslint/require-array-sort-compare": "error", + "@typescript-eslint/restrict-plus-operands": "error", + "semi": "off", + "@typescript-eslint/semi": ["error", "never"], + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/unbound-method": "error" + }, + "env": { + "node": true, + "es6": true, + "jest/globals": true + } + } \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..2e051e1f --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +dist/** -diff linguist-generated=true \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..18e337dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,99 @@ +# Dependency directory +node_modules + +# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# OS metadata +.DS_Store +Thumbs.db + +# Ignore built ts files +__tests__/runner/* +lib/**/* \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..21869472 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +dist/ +lib/ +node_modules/ \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..c34bafcb --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,10 @@ +{ + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "semi": false, + "singleQuote": true, + "trailingComma": "none", + "bracketSpacing": false, + "arrowParens": "avoid" +} diff --git a/action.yml b/action.yml new file mode 100644 index 00000000..345e2f4c --- /dev/null +++ b/action.yml @@ -0,0 +1,11 @@ +name: 'Your name here' +description: 'Provide a description here' +author: 'Your name or organization here' +inputs: + milliseconds: # change this + required: true + description: 'input description here' + default: 'default value if applicable' +runs: + using: 'node16' + main: 'dist/index.js' diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..5a822283 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + clearMocks: true, + moduleFileExtensions: ['js', 'ts'], + testMatch: ['**/*.test.ts'], + transform: { + '^.+\\.ts$': 'ts-jest' + }, + verbose: true +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..f6471f34 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6231 @@ +{ + "name": "slo-tests", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "slo-tests", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@actions/core": "^1.10.0" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/parser": "^5.59.2", + "@vercel/ncc": "^0.36.1", + "eslint": "^8.39.0", + "eslint-plugin-github": "^4.7.0", + "eslint-plugin-jest": "^27.2.1", + "jest": "^29.5.0", + "js-yaml": "^4.1.0", + "prettier": "^2.8.8", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } + }, + "node_modules/@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/http-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", + "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", + "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz", + "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@github/browserslist-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", + "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", + "dev": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", + "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", + "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", + "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", + "dev": true, + "dependencies": { + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", + "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", + "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", + "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", + "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.25.16" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", + "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", + "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", + "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", + "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", + "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.4.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.25.24", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", + "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz", + "integrity": "sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", + "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.9.tgz", + "integrity": "sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.5.tgz", + "integrity": "sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/type-utils": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.5.tgz", + "integrity": "sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz", + "integrity": "sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.5.tgz", + "integrity": "sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.5", + "@typescript-eslint/utils": "5.59.5", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.5.tgz", + "integrity": "sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz", + "integrity": "sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.5.tgz", + "integrity": "sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz", + "integrity": "sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vercel/ncc": { + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz", + "integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==", + "dev": true, + "bin": { + "ncc": "dist/ncc/cli.js" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/babel-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", + "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001487", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001487.tgz", + "integrity": "sha512-83564Z3yWGqXsh2vaH/mhXfEM0wX+NlBCm1jYHOb97TrTWJEmPTccZgeLTPBUUb0PNVo+oomb7wkimZBIERClA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-equal": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz", + "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.394", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.394.tgz", + "integrity": "sha512-0IbC2cfr8w5LxTz+nmn2cJTGafsK9iauV2r5A5scfzyovqLrxuLoxOHE5OBobP3oVIggJT+0JfKnw9sm87c8Hw==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz", + "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-escompat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.4.0.tgz", + "integrity": "sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.0" + }, + "peerDependencies": { + "eslint": ">=5.14.1" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-plugin-filenames": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "dev": true, + "dependencies": { + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-github": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-4.7.0.tgz", + "integrity": "sha512-SIFSy6IXtN3aGQ6YyFWg/oxRUyAcYwg5G0wh+ov1HQCvmp+Pzs1GzeVjU8QcIQSSJfverQzuxWrJCAln/d2PuQ==", + "dev": true, + "dependencies": { + "@github/browserslist-config": "^1.0.0", + "@typescript-eslint/eslint-plugin": "^5.1.0", + "@typescript-eslint/parser": "^5.1.0", + "aria-query": "^5.1.3", + "eslint-config-prettier": ">=8.0.0", + "eslint-plugin-escompat": "^3.3.3", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-i18n-text": "^1.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-no-only-tests": "^3.0.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-rule-documentation": ">=1.0.0", + "jsx-ast-utils": "^3.3.2", + "prettier": "^2.2.1", + "svg-element-attributes": "^1.3.1" + }, + "bin": { + "eslint-ignore-errors": "bin/eslint-ignore-errors.js" + }, + "peerDependencies": { + "eslint": "^8.0.1" + } + }, + "node_modules/eslint-plugin-i18n-text": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", + "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", + "has": "^1.0.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "27.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", + "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.10.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.0.0", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true, + "engines": { + "node": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-rule-documentation": { + "version": "1.0.23", + "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", + "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", + "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", + "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", + "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", + "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", + "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", + "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", + "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", + "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", + "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", + "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", + "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", + "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", + "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", + "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", + "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", + "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-element-attributes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", + "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", + "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..a7456ae8 --- /dev/null +++ b/package.json @@ -0,0 +1,43 @@ +{ + "name": "slo-tests", + "version": "1.0.0", + "private": true, + "description": "TypeScript action for performing SLO tests for YDB in k8s cluster", + "main": "lib/main.js", + "scripts": { + "build": "tsc", + "format": "prettier --write '**/*.ts'", + "format-check": "prettier --check '**/*.ts'", + "lint": "eslint src/**/*.ts", + "package": "ncc build --source-map --license licenses.txt", + "test": "jest", + "all": "npm run build && npm run format && npm run lint && npm run package && npm test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/actions/typescript-action.git" + }, + "keywords": [ + "actions", + "node", + "setup" + ], + "author": "", + "license": "MIT", + "dependencies": { + "@actions/core": "^1.10.0" + }, + "devDependencies": { + "@types/node": "^18.16.3", + "@typescript-eslint/parser": "^5.59.2", + "@vercel/ncc": "^0.36.1", + "eslint": "^8.39.0", + "eslint-plugin-github": "^4.7.0", + "eslint-plugin-jest": "^27.2.1", + "jest": "^29.5.0", + "js-yaml": "^4.1.0", + "prettier": "^2.8.8", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4" + } +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 00000000..49ae2b43 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,16 @@ +import * as core from '@actions/core' + +async function run(): Promise { + try { + const ms: string = core.getInput('milliseconds') + core.debug(`Waiting ${ms} milliseconds ...`) // debug is only output if you set the secret `ACTIONS_STEP_DEBUG` to true + + core.debug(new Date().toTimeString()) + + core.setOutput('time', new Date().toTimeString()) + } catch (error) { + if (error instanceof Error) core.setFailed(error.message) + } +} + +run() diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..f6e7cb5b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ + "outDir": "./lib", /* Redirect output structure to the directory. */ + "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + }, + "exclude": ["node_modules", "**/*.test.ts"] +} From b60d223e8c159dea7090ef9911704c5274cc43e6 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 19:59:06 +0400 Subject: [PATCH 03/77] feat: add group decorator --- src/groupDecorator.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/groupDecorator.ts diff --git a/src/groupDecorator.ts b/src/groupDecorator.ts new file mode 100644 index 00000000..cc1ab084 --- /dev/null +++ b/src/groupDecorator.ts @@ -0,0 +1,25 @@ +import * as core from '@actions/core' + +export function logGroup( + name: string, + fun: () => Promise +): Promise + +export function logGroup(name: string, fun: () => T): T + +export function logGroup( + name: string, + fun: () => Promise | T +): Promise | T { + core.startGroup(name) + const res = fun() + + if (res instanceof Promise) { + return res.finally(() => { + core.endGroup() + }) + } else { + core.endGroup() + return res + } +} From dcbf18785891f6730381ff6fd1ab1469c2c07ca6 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 19:59:25 +0400 Subject: [PATCH 04/77] feat: add parseArguments func --- src/__tests__/parseArguments.test.ts | 32 ++++++++++++ src/parseArguments.ts | 75 ++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 src/__tests__/parseArguments.test.ts create mode 100644 src/parseArguments.ts diff --git a/src/__tests__/parseArguments.test.ts b/src/__tests__/parseArguments.test.ts new file mode 100644 index 00000000..66c7ce08 --- /dev/null +++ b/src/__tests__/parseArguments.test.ts @@ -0,0 +1,32 @@ +import {expect, test} from '@jest/globals' +import {parseArguments} from '../parseArguments' + +function checkSuffixes(suffixes: string[]) { + suffixes.map(suffix => { + process.env[`INPUT_LANGUAGE_ID${suffix}`] = `my_test_language_id${suffix}` + process.env[ + `INPUT_WORKLOAD_PATH${suffix}` + ] = `my_test_workload_path${suffix}` + }) + expect(parseArguments()).toStrictEqual( + suffixes.map(suffix => ({ + id: `my_test_language_id${suffix}`, + path: `my_test_workload_path${suffix}` + })) + ) + + suffixes.map(suffix => { + delete process.env[`INPUT_LANGUAGE_ID${suffix}`] + delete process.env[`INPUT_WORKLOAD_PATH${suffix}`] + }) +} + +test('parseArguments 1 arg', () => { + checkSuffixes(['']) +}) +test('parseArguments 2 arg (variant 1)', () => { + checkSuffixes(['', '0']) +}) +test('parseArguments 2 arg (variant 2)', () => { + checkSuffixes(['0', '1']) +}) diff --git a/src/parseArguments.ts b/src/parseArguments.ts new file mode 100644 index 00000000..72b70051 --- /dev/null +++ b/src/parseArguments.ts @@ -0,0 +1,75 @@ +import * as core from '@actions/core' +import {logGroup} from './groupDecorator' + +export interface IWorkloadOptions { + /** SDK language or language+variant for kuberetes, prometheus metrics, PR comments */ + id: string + /** SDK name for PR comments */ + name?: string + /** Workload folder to build docker image from */ + path: string + /** Path to docker build context - cwd is workload_path */ + buildContext?: string + /** String with additional options, such as --build-arg and others from https://docs.docker.com/engine/reference/commandline/build/#options */ + buildOptions?: string +} + +export function parseArguments() { + return logGroup('Prepare k8s', () => { + let workloads: IWorkloadOptions[] = [] + let i = -1, + haveValue = true + do { + const readedValue = getWorkloadParam(i) + if (null === readedValue) { + // can start from '' or from 0 + if (i !== -1) haveValue = false + } else { + workloads.push(readedValue) + } + i++ + } while (haveValue) + + // TODO: add other args + return workloads + }) +} + +function getWorkloadParam(id: number): IWorkloadOptions | null { + let suffix = id == -1 ? '' : `${id}` + const languageId: string = core.getInput('language_id' + suffix) + const languageName: string = core.getInput('language' + suffix) + const workloadPath: string = core.getInput('workload_path' + suffix) + const workloadBuildContext: string = core.getInput( + 'workload_build_context' + suffix + ) + const workloadBuildOptions: string = core.getInput( + 'workload_build_options' + suffix + ) + + core.debug(`getWorkloadParam(${id}): + suffix='${suffix}' + languageId='${languageId}' + languageName='${languageName}' + workloadPath='${workloadPath}' + workloadBuildContext='${workloadBuildContext}' + workloadBuildOptions='${workloadBuildOptions}'`) + + // id and path are required + if (languageId.length === 0 || workloadPath.length === 0) { + core.debug( + `Not found params for ${id} workload - ${'language_id' + suffix} and ${ + 'workload_path' + suffix + } are not presented` + ) + return null + } + let options: IWorkloadOptions = { + id: languageId, + path: workloadPath + } + if (languageName) options.name = languageName + if (workloadBuildContext) options.buildContext = workloadBuildContext + if (workloadBuildOptions) options.buildOptions = workloadBuildOptions + return options +} From c071e50ee5522aee3ca443e45a8320d2489385ae Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 19:59:46 +0400 Subject: [PATCH 05/77] feat: add callExecutables func --- src/callExecutables.ts | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/callExecutables.ts diff --git a/src/callExecutables.ts b/src/callExecutables.ts new file mode 100644 index 00000000..eed0ee87 --- /dev/null +++ b/src/callExecutables.ts @@ -0,0 +1,57 @@ +import * as core from '@actions/core' +import {execSync} from 'child_process' +import {mkdirSync, writeFileSync} from 'fs' +import {homedir} from 'os' +import path from 'path' +import {logGroup} from './groupDecorator' + +let kubectlPath: string | null = null + +export function prepareK8S(base64kubeconfig: string) { + return logGroup('Prepare k8s', () => { + // create ~/.kube folder + const kubePath = path.join(homedir(), '.kube') + core.info(`mkdir ${kubePath}`) + try { + mkdirSync(kubePath) + } catch (error: any) { + core.debug('error' + JSON.stringify(error)) + if (error?.code === 'EEXIST') { + core.debug(kubePath + ' EEXIST') + } else throw error + } + + // add kubeconfig + if (base64kubeconfig.length > 0) { + core.debug('Get kubeconfig string') + const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString( + 'utf8' + ) + core.info(`Write kubeconfig to ~/.kube/config`) + writeFileSync(path.join(homedir(), '.kube/config'), kubeconfig) + } + + kubectlPath = call('which kubectl').split('\n')[0] + core.info(`kubectl path: ${kubectlPath}`) + }) +} + +export function call(command: string) { + core.info(`Call command: '${command}'`) + const spawnResult = execSync(command, {encoding: 'utf8'}) + return spawnResult +} + +export function callKubernetes(command: string) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first') + return call(`${kubectlPath} ${command}`) +} + +export function callKubernetesPath( + commandGenerator: (kPath: string) => string +) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first') + return call(commandGenerator(kubectlPath)) +} From 449d00c115e5567dc4b98f581f53ce9d85511fbc Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 22:18:11 +0400 Subject: [PATCH 06/77] feat: add mutex functions --- src/main.ts | 71 +++++++++++++++++++++++++++++++++++++++++++++++----- src/mutex.ts | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+), 6 deletions(-) create mode 100644 src/mutex.ts diff --git a/src/main.ts b/src/main.ts index 49ae2b43..6e5287ba 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,16 +1,75 @@ import * as core from '@actions/core' +import {IWorkloadOptions, parseArguments} from './parseArguments' +import {prepareK8S} from './callExecutables' +import {obtainMutex, releaseMutex} from './mutex' -async function run(): Promise { +async function main(): Promise { try { - const ms: string = core.getInput('milliseconds') - core.debug(`Waiting ${ms} milliseconds ...`) // debug is only output if you set the secret `ACTIONS_STEP_DEBUG` to true + let workloads: IWorkloadOptions[] = parseArguments() - core.debug(new Date().toTimeString()) + core.info( + workloads + .map(option => { + let str = `Run SLO tests for #${option.id}` + str += option.name ? `(${option.name})\n` : '\n' + str += `path: '${option.path}'\n` + str += option.buildContext + ? `build context: '${option.buildContext}'\n` + : '' + str += option.buildOptions + ? `build options: '${option.buildOptions}'\n` + : '' + return str + }) + .join('') + ) + const mutexId = + workloads.length > 1 + ? workloads.map(v => v.id).join('__+__') + : workloads[0].id - core.setOutput('time', new Date().toTimeString()) + prepareK8S('') + + await obtainMutex(mutexId, 30) + + // can be parallel with next step (build workload) + core.info('Create cluster') + // + + core.info('Build workload') + // + + core.info('Create tables') + // + + // retry on error? run in parrallel? run one by one? + core.info('Run workload') + // + + // run in parralel with workload + core.info('Run error scheduler') + // + + core.info('Check results') + // + + core.info('Grafana screenshot') + // + + core.info('Delete cluster') + // + + releaseMutex() } catch (error) { if (error instanceof Error) core.setFailed(error.message) } } -run() +const isPostAction = !!core.getState('isPost') + +if (isPostAction) { + core.info('Cleanup should be placed here') + // TODO: cleanup +} else { + main() +} diff --git a/src/mutex.ts b/src/mutex.ts new file mode 100644 index 00000000..08ef0b4c --- /dev/null +++ b/src/mutex.ts @@ -0,0 +1,67 @@ +import * as core from '@actions/core' +import {callKubernetes, callKubernetesPath} from './callExecutables' +import {logGroup} from './groupDecorator' + +/** Is mutex busy (configmap has field busy) */ +function isBusy(name: string): boolean { + core.debug(`isBusy(${name})`) + const res = callKubernetes(`get configmaps ${name} -ojson`) + core.debug('isBusy result: ' + res) + + const configmap = JSON.parse(res) + core.debug('configmap parsed: ' + JSON.stringify(configmap)) + + if (configmap?.data?.busy !== undefined) { + core.info(`Mutex locked by ${configmap?.data?.lockedBy}`) + } + return configmap?.data?.busy !== undefined +} + +function setBusy(lockedBy: string) { + core.debug(`setBusy(${lockedBy})`) + + callKubernetesPath( + kubectl => + `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -` + ) +} + +/** + * Obtain mutex + * @param workloadId id to mention in mutex + * @param timeout timeout in minutes + * @param checkPeriod update period in seconds + */ +export function obtainMutex( + workloadId: string, + timeout: number, + checkPeriod: number = 20 +) { + return logGroup('Obtain mutex', async () => { + const deadline = new Date().valueOf() + timeout * 1000 * 60 + core.info( + `Deadline to obtain mutex is set to: ${deadline} ( ${new Date( + deadline + ).toISOString()} )` + ) + do { + const busy = isBusy('slo-mutex') + if (!busy) { + setBusy(workloadId) + core.info('Mutex obtained') + return + } + await new Promise(resolve => setTimeout(resolve, checkPeriod * 1000)) + } while (new Date().valueOf() < deadline) + throw new Error('Deadline exceeded') + }) +} + +export function releaseMutex() { + return logGroup('Release mutex', () => { + callKubernetesPath( + kubectl => + `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -` + ) + }) +} From 58a3078daaaf4baeb2f3dce89f06fabfafb23f76 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 22:33:42 +0400 Subject: [PATCH 07/77] feat: add cluster actions --- k8s/ci/database.yaml | 4 +- k8s/ci/storage.yaml | 4 +- src/cluster.ts | 116 +++++++++++++++++++++++++++++++++++++++++++ src/main.ts | 19 +++++-- src/manifests.json | 1 + tsconfig.json | 3 +- 6 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 src/cluster.ts create mode 100644 src/manifests.json diff --git a/k8s/ci/database.yaml b/k8s/ci/database.yaml index a2029455..d3e54fcd 100644 --- a/k8s/ci/database.yaml +++ b/k8s/ci/database.yaml @@ -18,9 +18,9 @@ spec: operator: In values: - slo-storage - topologyKey: "kubernetes.io/hostname" + topologyKey: 'kubernetes.io/hostname' image: - name: cr.yandex/crptqonuodf51kdj7a7d/ydb:23.1.19 + name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}} nodes: 6 resources: containerResources: diff --git a/k8s/ci/storage.yaml b/k8s/ci/storage.yaml index 9b04f790..98c8612f 100644 --- a/k8s/ci/storage.yaml +++ b/k8s/ci/storage.yaml @@ -18,7 +18,7 @@ spec: operator: In values: - slo-storage - topologyKey: "kubernetes.io/hostname" + topologyKey: 'kubernetes.io/hostname' dataStore: - volumeMode: Block storageClassName: yc-network-ssd-nonreplicated @@ -28,7 +28,7 @@ spec: requests: storage: 93Gi image: - name: cr.yandex/crptqonuodf51kdj7a7d/ydb:23.1.19 + name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}} nodes: 9 erasure: mirror-3-dc configuration: |- diff --git a/src/cluster.ts b/src/cluster.ts new file mode 100644 index 00000000..004b9ba7 --- /dev/null +++ b/src/cluster.ts @@ -0,0 +1,116 @@ +import * as core from '@actions/core' +import {logGroup} from './groupDecorator' +import {call, callKubernetes, callKubernetesPath} from './callExecutables' + +// npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json +import manifests from './manifests.json' + +let databaseManifest = manifests['k8s/ci/database.yaml'].content +let storageManifest = manifests['k8s/ci/storage.yaml'].content + +/** + * Create cluster with selected version + * @param version YDB docker version + * @param timeout timeout in minutes + * @param checkPeriod update period in seconds + */ +export function createCluster( + version: string = '23.1.19', + timeout: number, + checkPeriod: number = 10 +) { + return logGroup('Create cluster', async () => { + databaseManifest = databaseManifest.replace('${{VERSION}}', version) + storageManifest = storageManifest.replace('${{VERSION}}', version) + + core.debug('database manifest:\n\n' + databaseManifest) + core.debug('storage manifest:\n\n' + storageManifest) + core.info('Apply database and storage manifests') + core.info( + 'storage apply result:\n' + + callKubernetesPath( + kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < setTimeout(resolve, checkPeriod * 1000)) + } while (new Date().valueOf() < deadline) + + throw new Error(`Not created cluster within timeout of ${timeout}min`) + }) +} + +export function getYdbVersions() { + return logGroup('Get versions', () => { + const versionsString = call( + 'docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb' + ) + const versions = versionsString.split('\n').filter(s => s.length > 0) + versions.sort() + return versions + }) +} + +function getStatus(statusOf: 'database' | 'storage') { + const res = callKubernetes( + `get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}` + ) + return JSON.parse(res).state +} + +export function deleteCluster() { + return logGroup('Delete cluster', () => { + core.info('Delete database and storage manifests') + try { + core.info( + 'Database delete result:\n' + + callKubernetes('delete databases.ydb.tech database-sample') + ) + } catch (error) { + core.info('Error while deleting database' + JSON.stringify(error)) + } + + try { + core.info( + 'Storage delete result:\n' + + callKubernetes('delete storages.ydb.tech storage-sample') + ) + } catch (error) { + core.info('Error while deleting storage' + JSON.stringify(error)) + } + + try { + const pvcs = callKubernetes( + 'get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage' + ) + core.debug('pvcs' + pvcs) + core.info('PVC delete result:\n' + callKubernetes(`delete pvc ${pvcs}`)) + } catch (error) { + core.info('Error while deleting pvcs' + JSON.stringify(error)) + } + }) +} diff --git a/src/main.ts b/src/main.ts index 6e5287ba..3dfef756 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,10 +2,21 @@ import * as core from '@actions/core' import {IWorkloadOptions, parseArguments} from './parseArguments' import {prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' +import {createCluster, deleteCluster, getYdbVersions} from './cluster' async function main(): Promise { try { let workloads: IWorkloadOptions[] = parseArguments() + const base64kubeconfig = '' + let version = '' + + if (version === '') version = '23.1.26' + if (version === 'newest') { + core.info('Get YDB docker versions') + const ydbVersions = getYdbVersions() + version = ydbVersions[ydbVersions.length - 1] + core.info(`Use YDB docker version = '${version}'`) + } core.info( workloads @@ -28,13 +39,12 @@ async function main(): Promise { ? workloads.map(v => v.id).join('__+__') : workloads[0].id - prepareK8S('') + prepareK8S(base64kubeconfig) await obtainMutex(mutexId, 30) // can be parallel with next step (build workload) - core.info('Create cluster') - // + await createCluster(version, 15) core.info('Build workload') // @@ -56,8 +66,7 @@ async function main(): Promise { core.info('Grafana screenshot') // - core.info('Delete cluster') - // + deleteCluster() releaseMutex() } catch (error) { diff --git a/src/manifests.json b/src/manifests.json new file mode 100644 index 00000000..2b8502ab --- /dev/null +++ b/src/manifests.json @@ -0,0 +1 @@ +{"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"}} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index f6e7cb5b..f4df7406 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,8 @@ "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ "strict": true, /* Enable all strict type-checking options. */ "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "resolveJsonModule": true }, "exclude": ["node_modules", "**/*.test.ts"] } From 56e2c369f84bcfd4f98503fe068f03762a61f424 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 15 May 2023 22:50:10 +0400 Subject: [PATCH 08/77] feat: add dockerLogin func --- src/callExecutables.ts | 6 +++--- src/main.ts | 6 ++++++ src/workload.ts | 27 +++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 src/workload.ts diff --git a/src/callExecutables.ts b/src/callExecutables.ts index eed0ee87..9a1160ea 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -36,9 +36,9 @@ export function prepareK8S(base64kubeconfig: string) { }) } -export function call(command: string) { - core.info(`Call command: '${command}'`) - const spawnResult = execSync(command, {encoding: 'utf8'}) +export function call(command: string, secret = false) { + !secret && core.info(`Call command: '${command}'`) + const spawnResult = execSync(command, {encoding: 'utf8', stdio: 'pipe'}) return spawnResult } diff --git a/src/main.ts b/src/main.ts index 3dfef756..16462054 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,11 +3,15 @@ import {IWorkloadOptions, parseArguments} from './parseArguments' import {prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' import {createCluster, deleteCluster, getYdbVersions} from './cluster' +import {dockerLogin} from './workload' async function main(): Promise { try { let workloads: IWorkloadOptions[] = parseArguments() const base64kubeconfig = '' + const dockerRepo = '', + dockerUser = '', + dockerPass = '' let version = '' if (version === '') version = '23.1.26' @@ -18,6 +22,8 @@ async function main(): Promise { core.info(`Use YDB docker version = '${version}'`) } + dockerLogin(dockerRepo, dockerUser, dockerPass) + core.info( workloads .map(option => { diff --git a/src/workload.ts b/src/workload.ts new file mode 100644 index 00000000..061af913 --- /dev/null +++ b/src/workload.ts @@ -0,0 +1,27 @@ +import * as core from '@actions/core' +import {call} from './callExecutables' +import {logGroup} from './groupDecorator' + +export function buildWorkload() {} + +export function dockerLogin(repo: string, user: string, password: string) { + return logGroup('Docker login', () => { + try { + call( + `echo "${password}" | docker login ${repo} -u ${user} --password-stdin`, + true + ) + } catch (error: any) { + const msg = 'Incorrect docker repo, username or password' + if ( + (error?.message as string).indexOf('incorrect username or password') > + -1 + ) { + core.info(msg) + } else { + core.info('Something went wrong in docker login') + } + throw new Error(msg) + } + }) +} From 9365a64f647abd4b2cfec8d15fa88a18eeaac3c4 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 16 May 2023 14:26:40 +0400 Subject: [PATCH 09/77] feat: add build workload action --- package-lock.json | 180 ++++++++++++++++++++++++++++++++++++++++++++-- package.json | 5 +- src/main.ts | 51 +++++++------ src/workload.ts | 34 ++++++++- 4 files changed, 241 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index f6471f34..de7f12fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@actions/core": "^1.10.0" + "@actions/core": "^1.10.0", + "@actions/github": "^5.1.1" }, "devDependencies": { "@types/node": "^18.16.3", @@ -34,6 +35,17 @@ "uuid": "^8.3.2" } }, + "node_modules/@actions/github": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", + "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "@octokit/core": "^3.6.0", + "@octokit/plugin-paginate-rest": "^2.17.0", + "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + } + }, "node_modules/@actions/http-client": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", @@ -1223,6 +1235,107 @@ "node": ">= 8" } }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "dependencies": { + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "dependencies": { + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, "node_modules/@sinclair/typebox": { "version": "0.25.24", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", @@ -1917,6 +2030,11 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2254,6 +2372,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -3719,6 +3842,14 @@ "node": ">=8" } }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -4806,6 +4937,25 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "node_modules/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -4943,7 +5093,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -5806,6 +5955,11 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/ts-jest": { "version": "29.1.0", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", @@ -5986,6 +6140,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", @@ -6062,6 +6221,20 @@ "makeerror": "1.0.12" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6157,8 +6330,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", diff --git a/package.json b/package.json index a7456ae8..92c05d7f 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "author": "", "license": "MIT", "dependencies": { - "@actions/core": "^1.10.0" + "@actions/core": "^1.10.0", + "@actions/github": "^5.1.1" }, "devDependencies": { "@types/node": "^18.16.3", @@ -40,4 +41,4 @@ "ts-jest": "^29.1.0", "typescript": "^5.0.4" } -} \ No newline at end of file +} diff --git a/src/main.ts b/src/main.ts index 16462054..c18f2007 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,13 +3,14 @@ import {IWorkloadOptions, parseArguments} from './parseArguments' import {prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' import {createCluster, deleteCluster, getYdbVersions} from './cluster' -import {dockerLogin} from './workload' +import {buildWorkload, dockerLogin} from './workload' async function main(): Promise { try { let workloads: IWorkloadOptions[] = parseArguments() const base64kubeconfig = '' const dockerRepo = '', + dockerFolder = '', dockerUser = '', dockerPass = '' let version = '' @@ -25,20 +26,21 @@ async function main(): Promise { dockerLogin(dockerRepo, dockerUser, dockerPass) core.info( - workloads - .map(option => { - let str = `Run SLO tests for #${option.id}` - str += option.name ? `(${option.name})\n` : '\n' - str += `path: '${option.path}'\n` - str += option.buildContext - ? `build context: '${option.buildContext}'\n` - : '' - str += option.buildOptions - ? `build options: '${option.buildOptions}'\n` - : '' - return str - }) - .join('') + 'Run SLO tests for: \n' + + workloads + .map(option => { + let str = `#${option.id}` + str += option.name ? `(${option.name})\n` : '\n' + str += `path: '${option.path}'\n` + str += option.buildContext + ? `build context: '${option.buildContext}'\n` + : '' + str += option.buildOptions + ? `build options: '${option.buildOptions}'\n` + : '' + return str + }) + .join('===') ) const mutexId = workloads.length > 1 @@ -49,11 +51,20 @@ async function main(): Promise { await obtainMutex(mutexId, 30) - // can be parallel with next step (build workload) - await createCluster(version, 15) - - core.info('Build workload') - // + core.info('Create cluster and build all workloads') + await Promise.all([ + createCluster(version, 15), + + ...workloads.map(wl => async () => { + buildWorkload( + dockerRepo, + dockerFolder, + wl.id, + wl.buildOptions, + wl.buildContext + ) + }) + ]) core.info('Create tables') // diff --git a/src/workload.ts b/src/workload.ts index 061af913..fbfc0f8c 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -1,17 +1,18 @@ import * as core from '@actions/core' +import * as github from '@actions/github' import {call} from './callExecutables' import {logGroup} from './groupDecorator' -export function buildWorkload() {} - export function dockerLogin(repo: string, user: string, password: string) { return logGroup('Docker login', () => { try { call( - `echo "${password}" | docker login ${repo} -u ${user} --password-stdin`, + `echo "${password}" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true ) + core.info('Successfully logged in') } catch (error: any) { + // suppress error revealing user and password const msg = 'Incorrect docker repo, username or password' if ( (error?.message as string).indexOf('incorrect username or password') > @@ -25,3 +26,30 @@ export function dockerLogin(repo: string, user: string, password: string) { } }) } + +export function buildWorkload( + repo: string, + folder: string, + id: string, + options?: string, + context?: string +) { + if (!options || options.length === 0) options = '' + if (!context || context.length === 0) context = '.' + + return logGroup('Build workload', () => { + core.info('Build docker image') + const dockerImg = `${repo}/${folder}/${id}` + call( + `docker build ` + + `-t ${dockerImg}:latest ` + + `-t ${dockerImg}:gh-${github.context.sha} ` + + `${options} ` + + `${context}` + ) + core.info('Push docker tag @latest') + call(`docker image push ${dockerImg}:latest`) + core.info(`Push docker tag '@gh-${github.context.sha}'`) + call(`docker image push ${dockerImg}:gh-${github.context.sha}`) + }) +} From a37264d29ca2647accd98c3a0106920878172e9d Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 16 May 2023 16:08:01 +0400 Subject: [PATCH 10/77] feat: add workload build check --- src/main.ts | 76 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 22 deletions(-) diff --git a/src/main.ts b/src/main.ts index c18f2007..03a08d91 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,7 +3,13 @@ import {IWorkloadOptions, parseArguments} from './parseArguments' import {prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' import {createCluster, deleteCluster, getYdbVersions} from './cluster' -import {buildWorkload, dockerLogin} from './workload' +import { + IWorkloadRunOptions, + buildWorkload, + dockerLogin, + generateDockerPath, + runWorkload +} from './workload' async function main(): Promise { try { @@ -51,37 +57,63 @@ async function main(): Promise { await obtainMutex(mutexId, 30) + const dockerPaths = workloads.map(w => + generateDockerPath(dockerRepo, dockerFolder, w.id) + ) + core.info('Create cluster and build all workloads') - await Promise.all([ + const builded = workloads.map(() => false) + await Promise.allSettled([ createCluster(version, 15), - ...workloads.map(wl => async () => { - buildWorkload( - dockerRepo, - dockerFolder, - wl.id, - wl.buildOptions, - wl.buildContext - ) + ...workloads.map((wl, idx) => { + return (async () => { + buildWorkload( + wl.id, + dockerPaths[idx], + wl.buildOptions, + wl.buildContext + ) + builded[idx] = true + })() }) ]) - core.info('Create tables') - // + /** Indicates that some of workloads builded and it's possible to run wl */ + const continueRun = builded.filter(v => v).length > 0 + core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`) + + if (builded.every(v => v)) { + core.info('All workloads builded successfully') + } else { + if (continueRun) { + builded.map((done, i) => { + if (!done) core.info(`Error in '${workloads[i].id}' build`) + else core.info(`'${workloads[i].id}' build successful`) + }) + } else { + core.info('No workloads builded!') + } + } - // retry on error? run in parrallel? run one by one? - core.info('Run workload') - // + if (continueRun) { + core.info('Create tables') + // - // run in parralel with workload - core.info('Run error scheduler') - // + // retry on error? run in parrallel? run one by one? + core.info('Run workload') + // - core.info('Check results') - // + // run in parralel with workload + core.info('Run error scheduler') + // - core.info('Grafana screenshot') - // + core.info('Check results') + // + + core.info('Grafana screenshot') + // + } deleteCluster() From ce30b086f8aed7915fe11b10f6ea577beb7f29d6 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 16 May 2023 18:37:06 +0400 Subject: [PATCH 11/77] feat: add runWorkload action --- k8s/ci/workload.yaml | 20 +++++++++++++++ src/main.ts | 43 ++++++++++++++++++++------------ src/manifests.json | 2 +- src/workload.ts | 58 +++++++++++++++++++++++++++++++++++++------- 4 files changed, 97 insertions(+), 26 deletions(-) create mode 100644 k8s/ci/workload.yaml diff --git a/k8s/ci/workload.yaml b/k8s/ci/workload.yaml new file mode 100644 index 00000000..bdaa32f0 --- /dev/null +++ b/k8s/ci/workload.yaml @@ -0,0 +1,20 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: ${{LANGUAGE_ID}}-wl-${{COMMAND}} +spec: + ttlSecondsAfterFinished: 120 + backoffLimit: 0 + template: + metadata: + name: ${{LANGUAGE_ID}}-wl-${{COMMAND}} + spec: + containers: + - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}} + image: ${{ inputs.DOCKER_REPO }}/${{ inputs.DOCKER_FOLDER }}/${{ inputs.language_id }}:latest + args: + - '${{COMMAND}}' + - 'grpc://database-sample-grpc:2135' + - '/root/database-sample' + - ${{ARGS}} + restartPolicy: Never diff --git a/src/main.ts b/src/main.ts index 03a08d91..839bc9d3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -97,22 +97,33 @@ async function main(): Promise { } if (continueRun) { - core.info('Create tables') - // - - // retry on error? run in parrallel? run one by one? - core.info('Run workload') - // - - // run in parralel with workload - core.info('Run error scheduler') - // - - core.info('Check results') - // - - core.info('Grafana screenshot') - // + await Promise.allSettled( + workloads.map((wl, idx) => { + return (async () => { + const wlOptions: IWorkloadRunOptions = { + id: wl.id, + dockerPath: dockerPaths[idx], + args: `--min-partitions-count 6 --max-partitions-count 1000 --partition-size 1 --initial-data-count 1000` + } + + runWorkload('create', wlOptions) + + // retry on error? run in parrallel? run one by one? + core.info('Run workload') + // + + // run in parralel with workload + core.info('Run error scheduler') + // + + core.info('Check results') + // + + core.info('Grafana screenshot') + // + })() + }) + ) } deleteCluster() diff --git a/src/manifests.json b/src/manifests.json index 2b8502ab..ee02af47 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"}} \ No newline at end of file +{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{ inputs.DOCKER_REPO }}/${{ inputs.DOCKER_FOLDER }}/${{ inputs.language_id }}:latest\n args:\n - '${{COMMAND}}'\n - 'grpc://database-sample-grpc:2135'\n - '/root/database-sample'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file diff --git a/src/workload.ts b/src/workload.ts index fbfc0f8c..856c6f0b 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -1,8 +1,13 @@ import * as core from '@actions/core' import * as github from '@actions/github' -import {call} from './callExecutables' +import {call, callKubernetesPath} from './callExecutables' import {logGroup} from './groupDecorator' +// npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json +import manifests from './manifests.json' + +const workloadManifestTemplate = manifests['k8s/ci/workload.yaml'].content + export function dockerLogin(repo: string, user: string, password: string) { return logGroup('Docker login', () => { try { @@ -27,29 +32,64 @@ export function dockerLogin(repo: string, user: string, password: string) { }) } +export function generateDockerPath(repo: string, folder: string, id: string) { + return `${repo}/${folder}/${id}` +} + export function buildWorkload( - repo: string, - folder: string, id: string, + dockerPath: string, options?: string, context?: string ) { if (!options || options.length === 0) options = '' if (!context || context.length === 0) context = '.' - return logGroup('Build workload', () => { + return logGroup(`Build workload ${id}`, () => { core.info('Build docker image') - const dockerImg = `${repo}/${folder}/${id}` call( `docker build ` + - `-t ${dockerImg}:latest ` + - `-t ${dockerImg}:gh-${github.context.sha} ` + + `-t ${dockerPath}:latest ` + + `-t ${dockerPath}:gh-${github.context.sha} ` + `${options} ` + `${context}` ) core.info('Push docker tag @latest') - call(`docker image push ${dockerImg}:latest`) + call(`docker image push ${dockerPath}:latest`) core.info(`Push docker tag '@gh-${github.context.sha}'`) - call(`docker image push ${dockerImg}:gh-${github.context.sha}`) + call(`docker image push ${dockerPath}:gh-${github.context.sha}`) + }) +} + +export interface IWorkloadRunOptions { + id: string + dockerPath: string + args: string +} + +export function runWorkload( + command: 'create' | 'run', + options: IWorkloadRunOptions +) { + return logGroup(`Workload ${options.id} - ${command}`, () => { + const workloadManifest = workloadManifestTemplate + .replace('${{LANGUAGE_ID}}', options.id) + .replace('${{COMMAND}}', command) + .replace( + '${{ARGS}}', + options.args + .split(' ') + .map(s => `'${s}'`) + .join('\n - ') + ) + + core.debug(`Workload manifest: \n\n${workloadManifest}`) + + core.info( + `Workload apply ${command} result:\n` + + callKubernetesPath( + kubectl => `${kubectl} apply -f - < Date: Tue, 16 May 2023 18:40:09 +0400 Subject: [PATCH 12/77] feat: move logGroup decorator --- src/callExecutables.ts | 2 +- src/cluster.ts | 2 +- src/mutex.ts | 2 +- src/parseArguments.ts | 2 +- src/{ => utils}/groupDecorator.ts | 0 src/workload.ts | 4 +++- 6 files changed, 7 insertions(+), 5 deletions(-) rename src/{ => utils}/groupDecorator.ts (100%) diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 9a1160ea..804a6278 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -3,7 +3,7 @@ import {execSync} from 'child_process' import {mkdirSync, writeFileSync} from 'fs' import {homedir} from 'os' import path from 'path' -import {logGroup} from './groupDecorator' +import {logGroup} from './utils/groupDecorator' let kubectlPath: string | null = null diff --git a/src/cluster.ts b/src/cluster.ts index 004b9ba7..6e02b601 100644 --- a/src/cluster.ts +++ b/src/cluster.ts @@ -1,5 +1,5 @@ import * as core from '@actions/core' -import {logGroup} from './groupDecorator' +import {logGroup} from './utils/groupDecorator' import {call, callKubernetes, callKubernetesPath} from './callExecutables' // npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json diff --git a/src/mutex.ts b/src/mutex.ts index 08ef0b4c..6c6edce0 100644 --- a/src/mutex.ts +++ b/src/mutex.ts @@ -1,6 +1,6 @@ import * as core from '@actions/core' import {callKubernetes, callKubernetesPath} from './callExecutables' -import {logGroup} from './groupDecorator' +import {logGroup} from './utils/groupDecorator' /** Is mutex busy (configmap has field busy) */ function isBusy(name: string): boolean { diff --git a/src/parseArguments.ts b/src/parseArguments.ts index 72b70051..5b796b41 100644 --- a/src/parseArguments.ts +++ b/src/parseArguments.ts @@ -1,5 +1,5 @@ import * as core from '@actions/core' -import {logGroup} from './groupDecorator' +import {logGroup} from './utils/groupDecorator' export interface IWorkloadOptions { /** SDK language or language+variant for kuberetes, prometheus metrics, PR comments */ diff --git a/src/groupDecorator.ts b/src/utils/groupDecorator.ts similarity index 100% rename from src/groupDecorator.ts rename to src/utils/groupDecorator.ts diff --git a/src/workload.ts b/src/workload.ts index 856c6f0b..3cc68e40 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -1,7 +1,7 @@ import * as core from '@actions/core' import * as github from '@actions/github' import {call, callKubernetesPath} from './callExecutables' -import {logGroup} from './groupDecorator' +import {logGroup} from './utils/groupDecorator' // npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json import manifests from './manifests.json' @@ -64,6 +64,7 @@ export function buildWorkload( export interface IWorkloadRunOptions { id: string dockerPath: string + timeoutMins: number args: string } @@ -91,5 +92,6 @@ export function runWorkload( kubectl => `${kubectl} apply -f - < Date: Tue, 16 May 2023 18:50:56 +0400 Subject: [PATCH 13/77] feat: add withTimeout helper --- src/cluster.ts | 34 ++++++++++++++++++++-------------- src/mutex.ts | 16 +++++----------- src/utils/withTimeout.ts | 26 ++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 25 deletions(-) create mode 100644 src/utils/withTimeout.ts diff --git a/src/cluster.ts b/src/cluster.ts index 6e02b601..5dfac445 100644 --- a/src/cluster.ts +++ b/src/cluster.ts @@ -4,6 +4,7 @@ import {call, callKubernetes, callKubernetesPath} from './callExecutables' // npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json import manifests from './manifests.json' +import {withTimeout} from './utils/withTimeout' let databaseManifest = manifests['k8s/ci/database.yaml'].content let storageManifest = manifests['k8s/ci/storage.yaml'].content @@ -42,25 +43,30 @@ export function createCluster( core.info('Check creation process') - const deadline = new Date().valueOf() + timeout * 1000 * 60 - core.info( - `Deadline to create cluster is set to: ${deadline} ( ${new Date( - deadline - ).toISOString()} )` - ) - - do { + let lastDatabaseStatus = getStatus('database') + let lastStorageStatus = getStatus('storage') + withTimeout(timeout, checkPeriod, 'YDB cluster create', () => { core.debug('check status of cluster') const databaseStatus = getStatus('database') const storageStatus = getStatus('storage') - core.info( + core.debug( `Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}` ) - if (databaseStatus === 'Ready' && storageStatus === 'Ready') return - await new Promise(resolve => setTimeout(resolve, checkPeriod * 1000)) - } while (new Date().valueOf() < deadline) - - throw new Error(`Not created cluster within timeout of ${timeout}min`) + if (databaseStatus !== lastDatabaseStatus) { + core.info( + `Database become '${databaseStatus}', storage is '${storageStatus}'` + ) + lastDatabaseStatus = databaseStatus + } + if (storageStatus !== lastStorageStatus) { + core.info( + `Storage become '${databaseStatus}', database is '${storageStatus}'` + ) + lastStorageStatus = storageStatus + } + if (databaseStatus === 'Ready' && storageStatus === 'Ready') return true + return false + }) }) } diff --git a/src/mutex.ts b/src/mutex.ts index 6c6edce0..fbd4a55c 100644 --- a/src/mutex.ts +++ b/src/mutex.ts @@ -1,6 +1,7 @@ import * as core from '@actions/core' import {callKubernetes, callKubernetesPath} from './callExecutables' import {logGroup} from './utils/groupDecorator' +import {withTimeout} from './utils/withTimeout' /** Is mutex busy (configmap has field busy) */ function isBusy(name: string): boolean { @@ -38,22 +39,15 @@ export function obtainMutex( checkPeriod: number = 20 ) { return logGroup('Obtain mutex', async () => { - const deadline = new Date().valueOf() + timeout * 1000 * 60 - core.info( - `Deadline to obtain mutex is set to: ${deadline} ( ${new Date( - deadline - ).toISOString()} )` - ) - do { + withTimeout(timeout, checkPeriod, 'Obtain mutex', () => { const busy = isBusy('slo-mutex') if (!busy) { setBusy(workloadId) core.info('Mutex obtained') - return + return true } - await new Promise(resolve => setTimeout(resolve, checkPeriod * 1000)) - } while (new Date().valueOf() < deadline) - throw new Error('Deadline exceeded') + return false + }) }) } diff --git a/src/utils/withTimeout.ts b/src/utils/withTimeout.ts new file mode 100644 index 00000000..3ee70d91 --- /dev/null +++ b/src/utils/withTimeout.ts @@ -0,0 +1,26 @@ +import * as core from '@actions/core' + +export class TimeoutExceededError extends Error {} + +export async function withTimeout( + timeoutM: number, + checkPeriodS: number, + actionName: string, + checkFunc: () => boolean +) { + core.debug( + `Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}` + ) + const deadline = new Date().valueOf() + timeoutM * 1000 * 60 + core.debug( + `Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )` + ) + do { + if (checkFunc()) return + await new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000)) + } while (new Date().valueOf() < deadline) + + throw new TimeoutExceededError( + `${actionName} not done within timeout of ${timeoutM}min` + ) +} From 6f0acb2667e2a8b51e9a174e56e410e878f2ae73 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Wed, 17 May 2023 13:20:06 +0400 Subject: [PATCH 14/77] feat: runWorkload with timeout --- src/callExecutables.ts | 1 + src/main.ts | 21 ++++++++++++++------- src/workload.ts | 42 ++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 55 insertions(+), 9 deletions(-) diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 804a6278..dfc1fe89 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -39,6 +39,7 @@ export function prepareK8S(base64kubeconfig: string) { export function call(command: string, secret = false) { !secret && core.info(`Call command: '${command}'`) const spawnResult = execSync(command, {encoding: 'utf8', stdio: 'pipe'}) + core.debug('call result' + spawnResult) return spawnResult } diff --git a/src/main.ts b/src/main.ts index 839bc9d3..645dfb17 100644 --- a/src/main.ts +++ b/src/main.ts @@ -100,17 +100,24 @@ async function main(): Promise { await Promise.allSettled( workloads.map((wl, idx) => { return (async () => { - const wlOptions: IWorkloadRunOptions = { + runWorkload('create', { id: wl.id, dockerPath: dockerPaths[idx], - args: `--min-partitions-count 6 --max-partitions-count 1000 --partition-size 1 --initial-data-count 1000` - } - - runWorkload('create', wlOptions) + timeoutMins: 2, + args: + `--min-partitions-count 6 --max-partitions-count 1000` + + ` --partition-size 1 --initial-data-count 1000` + }) // retry on error? run in parrallel? run one by one? - core.info('Run workload') - // + runWorkload('run', { + id: wl.id, + dockerPath: dockerPaths[idx], + timeoutMins: 6, + args: + `--time 180 --shutdown-time 20 --read-rps 1000` + + ` --write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` + }) // run in parralel with workload core.info('Run error scheduler') diff --git a/src/workload.ts b/src/workload.ts index 3cc68e40..4e61ba67 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -1,10 +1,11 @@ import * as core from '@actions/core' import * as github from '@actions/github' -import {call, callKubernetesPath} from './callExecutables' +import {call, callKubernetes, callKubernetesPath} from './callExecutables' import {logGroup} from './utils/groupDecorator' // npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json import manifests from './manifests.json' +import {withTimeout} from './utils/withTimeout' const workloadManifestTemplate = manifests['k8s/ci/workload.yaml'].content @@ -86,12 +87,49 @@ export function runWorkload( core.debug(`Workload manifest: \n\n${workloadManifest}`) + const startTime = new Date() core.info( `Workload apply ${command} result:\n` + callKubernetesPath( kubectl => `${kubectl} apply -f - < { + const status = JSON.parse( + callKubernetes( + `get job/${options.id}-wl-${command} -o=jsonpath={.status}` + ) + ) + core.debug('Workload status check: ' + JSON.stringify(status)) + if (status.failed) { + const msg = `Workload ${options.id} ${command} failed` + core.info(msg) + // print logs + core.info( + `Workload ${options.id} ${command} logs:\n` + + callKubernetes( + `logs job/${options.id}-wl-${command} -o=jsonpath={.status}` + ) + ) + throw new Error(msg) + } + if (status.complete || status.succeeded) return true + return false + } + ) + const endTime = new Date() + // print logs + core.info( + `Workload ${options.id} ${command} logs:\n` + + callKubernetes( + `logs job/${options.id}-wl-${command} -o=jsonpath={.status}` + ) + ) + return {startTime, endTime} }) } From 095b9f55f8901669465792c69b73ace5b557edca Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Wed, 17 May 2023 19:56:23 +0400 Subject: [PATCH 15/77] feat: async calls of executables --- src/__tests__/callInParallel.test.ts | 13 +++++++ src/callExecutables.ts | 47 ++++++++++++++++++++++++- src/main.ts | 51 +++++++++++++--------------- src/workload.ts | 36 +++++++++++--------- 4 files changed, 103 insertions(+), 44 deletions(-) create mode 100644 src/__tests__/callInParallel.test.ts diff --git a/src/__tests__/callInParallel.test.ts b/src/__tests__/callInParallel.test.ts new file mode 100644 index 00000000..e0991147 --- /dev/null +++ b/src/__tests__/callInParallel.test.ts @@ -0,0 +1,13 @@ +import {expect, test} from '@jest/globals' +import {callAsync} from '../callExecutables' + +test('Sleep in parallel', async () => { + const timeStart = new Date().valueOf() + const res = await Promise.all([ + callAsync('sleep 1; echo "sleeped 1"'), + callAsync('sleep 2; echo "sleeped 2"') + ]) + expect(res[0]).toBe('sleeped 1\n') + expect(res[1]).toBe('sleeped 2\n') + expect(Math.floor((new Date().valueOf() - timeStart) / 1000)).toBe(2) +}) diff --git a/src/callExecutables.ts b/src/callExecutables.ts index dfc1fe89..68330cd6 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -1,5 +1,5 @@ import * as core from '@actions/core' -import {execSync} from 'child_process' +import {exec, execSync} from 'child_process' import {mkdirSync, writeFileSync} from 'fs' import {homedir} from 'os' import path from 'path' @@ -43,6 +43,37 @@ export function call(command: string, secret = false) { return spawnResult } +export function callAsync(command: string, secret = false): Promise { + return new Promise((resolve, reject) => { + !secret && core.info(`Call async command: '${command}'`) + const proc = exec(command, {encoding: 'utf8'}) + if (!proc.stdio || !proc.stdout || !proc.stderr) { + core.info(`Error in callAsync: can't spawn process`) + throw new Error(`Error in callAsync: can't spawn process`) + } + + let out = '', + err = '' + proc.stdout.on('data', data => (out += data.toString())) + proc.stderr.on('data', data => (err += data.toString())) + + proc.on('close', code => { + core.debug(`Call async code = ${code}`) + if (code == 0) { + core.debug(`Call async output\n${out}`) + resolve(out) + } else { + core.debug('Call async failed:\n' + err) + reject(err) + } + }) + proc.on('error', err => { + core.debug('Call async failed:\n' + err) + reject(err) + }) + }) +} + export function callKubernetes(command: string) { if (kubectlPath === null) throw new Error('K8s not initialized, call prepareK8S first') @@ -56,3 +87,17 @@ export function callKubernetesPath( throw new Error('K8s not initialized, call prepareK8S first') return call(commandGenerator(kubectlPath)) } + +export function callKubernetesAsync(command: string) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first') + return callAsync(`${kubectlPath} ${command}`) +} + +export function callKubernetesPathAsync( + commandGenerator: (kPath: string) => string +) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first') + return callAsync(commandGenerator(kubectlPath)) +} diff --git a/src/main.ts b/src/main.ts index 645dfb17..2b1ca61f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -29,7 +29,7 @@ async function main(): Promise { core.info(`Use YDB docker version = '${version}'`) } - dockerLogin(dockerRepo, dockerUser, dockerPass) + await dockerLogin(dockerRepo, dockerUser, dockerPass) core.info( 'Run SLO tests for: \n' + @@ -67,15 +67,14 @@ async function main(): Promise { createCluster(version, 15), ...workloads.map((wl, idx) => { - return (async () => { - buildWorkload( - wl.id, - dockerPaths[idx], - wl.buildOptions, - wl.buildContext - ) + return buildWorkload( + wl.id, + dockerPaths[idx], + wl.buildOptions, + wl.buildContext + ).then(() => { builded[idx] = true - })() + }) }) ]) @@ -98,17 +97,17 @@ async function main(): Promise { if (continueRun) { await Promise.allSettled( - workloads.map((wl, idx) => { - return (async () => { - runWorkload('create', { - id: wl.id, - dockerPath: dockerPaths[idx], - timeoutMins: 2, - args: - `--min-partitions-count 6 --max-partitions-count 1000` + - ` --partition-size 1 --initial-data-count 1000` - }) + workloads.map(async (wl, idx) => { + await runWorkload('create', { + id: wl.id, + dockerPath: dockerPaths[idx], + timeoutMins: 2, + args: + `--min-partitions-count 6 --max-partitions-count 1000` + + ` --partition-size 1 --initial-data-count 1000` + }) + await Promise.allSettled([ // retry on error? run in parrallel? run one by one? runWorkload('run', { id: wl.id, @@ -118,17 +117,15 @@ async function main(): Promise { `--time 180 --shutdown-time 20 --read-rps 1000` + ` --write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` }) - // run in parralel with workload - core.info('Run error scheduler') - // + // core.info('Run error scheduler') + ]) - core.info('Check results') - // + core.info('Check results') + // - core.info('Grafana screenshot') - // - })() + core.info('Grafana screenshot') + // }) ) } diff --git a/src/workload.ts b/src/workload.ts index 4e61ba67..52c46e4b 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -1,6 +1,10 @@ import * as core from '@actions/core' import * as github from '@actions/github' -import {call, callKubernetes, callKubernetesPath} from './callExecutables' +import { + callAsync, + callKubernetesAsync, + callKubernetesPathAsync +} from './callExecutables' import {logGroup} from './utils/groupDecorator' // npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json @@ -10,9 +14,9 @@ import {withTimeout} from './utils/withTimeout' const workloadManifestTemplate = manifests['k8s/ci/workload.yaml'].content export function dockerLogin(repo: string, user: string, password: string) { - return logGroup('Docker login', () => { + return logGroup('Docker login', async () => { try { - call( + await callAsync( `echo "${password}" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true ) @@ -46,9 +50,9 @@ export function buildWorkload( if (!options || options.length === 0) options = '' if (!context || context.length === 0) context = '.' - return logGroup(`Build workload ${id}`, () => { + return logGroup(`Build workload ${id}`, async () => { core.info('Build docker image') - call( + await callAsync( `docker build ` + `-t ${dockerPath}:latest ` + `-t ${dockerPath}:gh-${github.context.sha} ` + @@ -56,9 +60,9 @@ export function buildWorkload( `${context}` ) core.info('Push docker tag @latest') - call(`docker image push ${dockerPath}:latest`) + await callAsync(`docker image push ${dockerPath}:latest`) core.info(`Push docker tag '@gh-${github.context.sha}'`) - call(`docker image push ${dockerPath}:gh-${github.context.sha}`) + await callAsync(`docker image push ${dockerPath}:gh-${github.context.sha}`) }) } @@ -73,7 +77,7 @@ export function runWorkload( command: 'create' | 'run', options: IWorkloadRunOptions ) { - return logGroup(`Workload ${options.id} - ${command}`, () => { + return logGroup(`Workload ${options.id} - ${command}`, async () => { const workloadManifest = workloadManifestTemplate .replace('${{LANGUAGE_ID}}', options.id) .replace('${{COMMAND}}', command) @@ -90,18 +94,18 @@ export function runWorkload( const startTime = new Date() core.info( `Workload apply ${command} result:\n` + - callKubernetesPath( + (await callKubernetesPathAsync( kubectl => `${kubectl} apply -f - < { + async () => { const status = JSON.parse( - callKubernetes( + await callKubernetesAsync( `get job/${options.id}-wl-${command} -o=jsonpath={.status}` ) ) @@ -112,9 +116,9 @@ export function runWorkload( // print logs core.info( `Workload ${options.id} ${command} logs:\n` + - callKubernetes( + (await callKubernetesAsync( `logs job/${options.id}-wl-${command} -o=jsonpath={.status}` - ) + )) ) throw new Error(msg) } @@ -126,9 +130,9 @@ export function runWorkload( // print logs core.info( `Workload ${options.id} ${command} logs:\n` + - callKubernetes( + (await callKubernetesAsync( `logs job/${options.id}-wl-${command} -o=jsonpath={.status}` - ) + )) ) return {startTime, endTime} }) From 6ff6506745ea38417a39dea1553b4d263e75a1dd Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Wed, 17 May 2023 19:58:11 +0400 Subject: [PATCH 16/77] fix: fix eslint errors --- .eslintignore | 2 + .eslintrc.json | 116 +++++++++++++++++++----------------- src/utils/groupDecorator.ts | 12 ++-- src/utils/withTimeout.ts | 6 +- 4 files changed, 71 insertions(+), 65 deletions(-) diff --git a/.eslintignore b/.eslintignore index 42ceb9a5..40cc7195 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,3 +2,5 @@ dist/ lib/ node_modules/ jest.config.js +*.test.ts +*.spec.ts \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index 71ee5451..9d6daec2 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,55 +1,63 @@ { - "plugins": ["jest", "@typescript-eslint"], - "extends": ["plugin:github/recommended"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 9, - "sourceType": "module", - "project": "./tsconfig.json" - }, - "rules": { - "i18n-text/no-en": "off", - "eslint-comments/no-use": "off", - "import/no-namespace": "off", - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": "error", - "@typescript-eslint/explicit-member-accessibility": ["error", {"accessibility": "no-public"}], - "@typescript-eslint/no-require-imports": "error", - "@typescript-eslint/array-type": "error", - "@typescript-eslint/await-thenable": "error", - "@typescript-eslint/ban-ts-comment": "error", - "camelcase": "off", - "@typescript-eslint/consistent-type-assertions": "error", - "@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}], - "@typescript-eslint/func-call-spacing": ["error", "never"], - "@typescript-eslint/no-array-constructor": "error", - "@typescript-eslint/no-empty-interface": "error", - "@typescript-eslint/no-explicit-any": "error", - "@typescript-eslint/no-extraneous-class": "error", - "@typescript-eslint/no-for-in-array": "error", - "@typescript-eslint/no-inferrable-types": "error", - "@typescript-eslint/no-misused-new": "error", - "@typescript-eslint/no-namespace": "error", - "@typescript-eslint/no-non-null-assertion": "warn", - "@typescript-eslint/no-unnecessary-qualifier": "error", - "@typescript-eslint/no-unnecessary-type-assertion": "error", - "@typescript-eslint/no-useless-constructor": "error", - "@typescript-eslint/no-var-requires": "error", - "@typescript-eslint/prefer-for-of": "warn", - "@typescript-eslint/prefer-function-type": "warn", - "@typescript-eslint/prefer-includes": "error", - "@typescript-eslint/prefer-string-starts-ends-with": "error", - "@typescript-eslint/promise-function-async": "error", - "@typescript-eslint/require-array-sort-compare": "error", - "@typescript-eslint/restrict-plus-operands": "error", - "semi": "off", - "@typescript-eslint/semi": ["error", "never"], - "@typescript-eslint/type-annotation-spacing": "error", - "@typescript-eslint/unbound-method": "error" - }, - "env": { - "node": true, - "es6": true, - "jest/globals": true - } - } \ No newline at end of file + "plugins": ["jest", "@typescript-eslint"], + "extends": ["plugin:github/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 9, + "sourceType": "module", + "project": "./tsconfig.json" + }, + "rules": { + "i18n-text/no-en": "off", + "eslint-comments/no-use": "off", + "import/no-namespace": "off", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": "error", + "@typescript-eslint/explicit-member-accessibility": [ + "error", + {"accessibility": "no-public"} + ], + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/array-type": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/ban-ts-comment": "error", + "camelcase": "off", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/explicit-function-return-type": [ + "error", + {"allowExpressions": true} + ], + "@typescript-eslint/func-call-spacing": ["error", "never"], + "@typescript-eslint/no-array-constructor": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-extraneous-class": "error", + "@typescript-eslint/no-for-in-array": "error", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-non-null-assertion": "warn", + "@typescript-eslint/no-unnecessary-qualifier": "error", + "@typescript-eslint/no-unnecessary-type-assertion": "error", + "@typescript-eslint/no-useless-constructor": "error", + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/prefer-for-of": "warn", + "@typescript-eslint/prefer-function-type": "warn", + "@typescript-eslint/prefer-includes": "error", + "@typescript-eslint/prefer-string-starts-ends-with": "error", + "@typescript-eslint/promise-function-async": "error", + "@typescript-eslint/require-array-sort-compare": "error", + "@typescript-eslint/restrict-plus-operands": "error", + "semi": "off", + "@typescript-eslint/semi": ["error", "never"], + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/unbound-method": "error", + "no-redeclare": "off", + "@typescript-eslint/no-redeclare": "error" + }, + "env": { + "node": true, + "es6": true, + "jest/globals": true + } +} diff --git a/src/utils/groupDecorator.ts b/src/utils/groupDecorator.ts index cc1ab084..b97e3b22 100644 --- a/src/utils/groupDecorator.ts +++ b/src/utils/groupDecorator.ts @@ -1,13 +1,9 @@ import * as core from '@actions/core' -export function logGroup( - name: string, - fun: () => Promise -): Promise - -export function logGroup(name: string, fun: () => T): T - -export function logGroup( +export function logGroup(name: string, fun: () => Promise): Promise +export function logGroup(name: string, fun: () => T): T +// eslint-disable-next-line @typescript-eslint/promise-function-async +export function logGroup( name: string, fun: () => Promise | T ): Promise | T { diff --git a/src/utils/withTimeout.ts b/src/utils/withTimeout.ts index 3ee70d91..efb8447e 100644 --- a/src/utils/withTimeout.ts +++ b/src/utils/withTimeout.ts @@ -6,8 +6,8 @@ export async function withTimeout( timeoutM: number, checkPeriodS: number, actionName: string, - checkFunc: () => boolean -) { + checkFunc: (() => boolean) | (() => Promise) +): Promise { core.debug( `Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}` ) @@ -16,7 +16,7 @@ export async function withTimeout( `Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )` ) do { - if (checkFunc()) return + if (await checkFunc()) return await new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000)) } while (new Date().valueOf() < deadline) From 3b86e2a50b755063ee5793d52c780f1f5b8b34bd Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Thu, 18 May 2023 17:59:03 +0400 Subject: [PATCH 17/77] feat: infrastructure check before run --- k8s/grafana-renderer.yaml | 1 + src/callExecutables.ts | 14 +++++++----- src/getInfrastractureEndpoints.ts | 37 +++++++++++++++++++++++++++++++ src/main.ts | 18 ++++++++++----- src/workload.ts | 4 ++-- 5 files changed, 61 insertions(+), 13 deletions(-) create mode 100644 src/getInfrastractureEndpoints.ts diff --git a/k8s/grafana-renderer.yaml b/k8s/grafana-renderer.yaml index f91b2828..babff83f 100644 --- a/k8s/grafana-renderer.yaml +++ b/k8s/grafana-renderer.yaml @@ -24,6 +24,7 @@ spec: metadata: labels: app: grafana-renderer + app.kubernetes.io/name: grafana-renderer spec: containers: - name: grafana-renderer diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 68330cd6..908971a9 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -39,7 +39,7 @@ export function prepareK8S(base64kubeconfig: string) { export function call(command: string, secret = false) { !secret && core.info(`Call command: '${command}'`) const spawnResult = execSync(command, {encoding: 'utf8', stdio: 'pipe'}) - core.debug('call result' + spawnResult) + core.debug('call result ' + spawnResult) return spawnResult } @@ -60,15 +60,19 @@ export function callAsync(command: string, secret = false): Promise { proc.on('close', code => { core.debug(`Call async code = ${code}`) if (code == 0) { - core.debug(`Call async output\n${out}`) + core.debug(`Call async output \n${out}`) resolve(out) } else { - core.debug('Call async failed:\n' + err) - reject(err) + if (secret) core.debug('Call async with secrets failed - on close') + else core.debug('Call async failed - on close:\n' + err) + + reject(new Error(err)) } }) proc.on('error', err => { - core.debug('Call async failed:\n' + err) + if (secret) core.debug('Call async with secrets failed - on error') + else core.debug('Call async failed - on error:\n' + err) + reject(err) }) }) diff --git a/src/getInfrastractureEndpoints.ts b/src/getInfrastractureEndpoints.ts new file mode 100644 index 00000000..17b119d8 --- /dev/null +++ b/src/getInfrastractureEndpoints.ts @@ -0,0 +1,37 @@ +import {callKubernetesAsync} from './callExecutables' + +export async function getInfrastractureEndpoints() { + const services = [ + 'prometheus-operator', + 'prometheus', + 'prometheus-pushgateway', + 'grafana', + 'grafana-renderer', + 'ydb-operator' + ] + return Promise.allSettled(services.map(getEndpoint)).then(res => { + const servicesWithoutPods = services.filter( + (v, i) => res[i].status === 'rejected' + ) + if (servicesWithoutPods.length > 0) { + throw new Error( + `Not found those required k8s pods: ${servicesWithoutPods.join(', ')}` + ) + } + + return { + prometheusOperator: (res[0] as PromiseFulfilledResult).value, + prometheus: (res[1] as PromiseFulfilledResult).value, + prometheusPushgateway: (res[2] as PromiseFulfilledResult).value, + grafana: (res[3] as PromiseFulfilledResult).value, + grafanaRenderer: (res[4] as PromiseFulfilledResult).value, + ydbOperator: (res[5] as PromiseFulfilledResult).value + } + }) +} + +function getEndpoint(kubeName: string) { + return callKubernetesAsync( + `get pods -l "app.kubernetes.io/name=${kubeName}" -o jsonpath="{.items[0].metadata.name}"` + ).then(s => s.split('\n')[0]) +} diff --git a/src/main.ts b/src/main.ts index 2b1ca61f..923f513a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,12 +4,12 @@ import {prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' import {createCluster, deleteCluster, getYdbVersions} from './cluster' import { - IWorkloadRunOptions, buildWorkload, dockerLogin, generateDockerPath, runWorkload } from './workload' +import {getInfrastractureEndpoints} from './getInfrastractureEndpoints' async function main(): Promise { try { @@ -29,8 +29,14 @@ async function main(): Promise { core.info(`Use YDB docker version = '${version}'`) } + prepareK8S(base64kubeconfig) + await dockerLogin(dockerRepo, dockerUser, dockerPass) + // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer + const servicesPods = await getInfrastractureEndpoints() + core.info(`Services pods: ${JSON.stringify(servicesPods)}`) + core.info( 'Run SLO tests for: \n' + workloads @@ -53,8 +59,6 @@ async function main(): Promise { ? workloads.map(v => v.id).join('__+__') : workloads[0].id - prepareK8S(base64kubeconfig) - await obtainMutex(mutexId, 30) const dockerPaths = workloads.map(w => @@ -63,7 +67,7 @@ async function main(): Promise { core.info('Create cluster and build all workloads') const builded = workloads.map(() => false) - await Promise.allSettled([ + const clusterWorkloadRes = await Promise.allSettled([ createCluster(version, 15), ...workloads.map((wl, idx) => { @@ -78,8 +82,10 @@ async function main(): Promise { }) ]) - /** Indicates that some of workloads builded and it's possible to run wl */ - const continueRun = builded.filter(v => v).length > 0 + /** Indicates that cluster created, some of workloads builded and it's possible to run wl */ + const continueRun = + clusterWorkloadRes[0].status === 'fulfilled' && + builded.filter(v => v).length > 0 core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`) if (builded.every(v => v)) { diff --git a/src/workload.ts b/src/workload.ts index 52c46e4b..0d64914f 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -25,8 +25,8 @@ export function dockerLogin(repo: string, user: string, password: string) { // suppress error revealing user and password const msg = 'Incorrect docker repo, username or password' if ( - (error?.message as string).indexOf('incorrect username or password') > - -1 + error?.message && + (error?.message as string).indexOf('username or password') > -1 ) { core.info(msg) } else { From 9334928b3c1a6aa1ec730cc222dbad7423c1cd0e Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Thu, 18 May 2023 18:25:26 +0400 Subject: [PATCH 18/77] fix: bugfix cluster creation --- src/cluster.ts | 4 ++-- src/main.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cluster.ts b/src/cluster.ts index 5dfac445..2d7abea5 100644 --- a/src/cluster.ts +++ b/src/cluster.ts @@ -15,7 +15,7 @@ let storageManifest = manifests['k8s/ci/storage.yaml'].content * @param timeout timeout in minutes * @param checkPeriod update period in seconds */ -export function createCluster( +export async function createCluster( version: string = '23.1.19', timeout: number, checkPeriod: number = 10 @@ -45,7 +45,7 @@ export function createCluster( let lastDatabaseStatus = getStatus('database') let lastStorageStatus = getStatus('storage') - withTimeout(timeout, checkPeriod, 'YDB cluster create', () => { + await withTimeout(timeout, checkPeriod, 'YDB cluster create', () => { core.debug('check status of cluster') const databaseStatus = getStatus('database') const storageStatus = getStatus('storage') diff --git a/src/main.ts b/src/main.ts index 923f513a..49bd03f8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -70,8 +70,8 @@ async function main(): Promise { const clusterWorkloadRes = await Promise.allSettled([ createCluster(version, 15), - ...workloads.map((wl, idx) => { - return buildWorkload( + ...workloads.map((wl, idx) => + buildWorkload( wl.id, dockerPaths[idx], wl.buildOptions, @@ -79,7 +79,7 @@ async function main(): Promise { ).then(() => { builded[idx] = true }) - }) + ) ]) /** Indicates that cluster created, some of workloads builded and it's possible to run wl */ From 09cfe3be9abf1cc4fb85dee45d30eefd14f58516 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 19 May 2023 21:21:34 +0400 Subject: [PATCH 19/77] fix: cluster creation --- k8s/ci/workload.yaml | 2 +- src/callExecutables.ts | 8 ++++++-- src/cluster.ts | 2 +- src/main.ts | 1 + src/manifests.json | 2 +- src/workload.ts | 28 +++++++++++++++------------- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/k8s/ci/workload.yaml b/k8s/ci/workload.yaml index bdaa32f0..ab5525ef 100644 --- a/k8s/ci/workload.yaml +++ b/k8s/ci/workload.yaml @@ -11,7 +11,7 @@ spec: spec: containers: - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}} - image: ${{ inputs.DOCKER_REPO }}/${{ inputs.DOCKER_FOLDER }}/${{ inputs.language_id }}:latest + image: ${{DOCKER_IMAGE}}:latest args: - '${{COMMAND}}' - 'grpc://database-sample-grpc:2135' diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 908971a9..783c0a49 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -43,10 +43,14 @@ export function call(command: string, secret = false) { return spawnResult } -export function callAsync(command: string, secret = false): Promise { +export function callAsync( + command: string, + secret = false, + cwd = '.' +): Promise { return new Promise((resolve, reject) => { !secret && core.info(`Call async command: '${command}'`) - const proc = exec(command, {encoding: 'utf8'}) + const proc = exec(command, {encoding: 'utf8', cwd}) if (!proc.stdio || !proc.stdout || !proc.stderr) { core.info(`Error in callAsync: can't spawn process`) throw new Error(`Error in callAsync: can't spawn process`) diff --git a/src/cluster.ts b/src/cluster.ts index 2d7abea5..f71a237a 100644 --- a/src/cluster.ts +++ b/src/cluster.ts @@ -45,7 +45,7 @@ export async function createCluster( let lastDatabaseStatus = getStatus('database') let lastStorageStatus = getStatus('storage') - await withTimeout(timeout, checkPeriod, 'YDB cluster create', () => { + await withTimeout(timeout, checkPeriod, 'YDB cluster create', async () => { core.debug('check status of cluster') const databaseStatus = getStatus('database') const storageStatus = getStatus('storage') diff --git a/src/main.ts b/src/main.ts index 49bd03f8..999e68a3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -74,6 +74,7 @@ async function main(): Promise { buildWorkload( wl.id, dockerPaths[idx], + wl.path, wl.buildOptions, wl.buildContext ).then(() => { diff --git a/src/manifests.json b/src/manifests.json index ee02af47..dc7c1b21 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{ inputs.DOCKER_REPO }}/${{ inputs.DOCKER_FOLDER }}/${{ inputs.language_id }}:latest\n args:\n - '${{COMMAND}}'\n - 'grpc://database-sample-grpc:2135'\n - '/root/database-sample'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file +{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - 'grpc://database-sample-grpc:2135'\n - '/root/database-sample'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file diff --git a/src/workload.ts b/src/workload.ts index 0d64914f..adc3e710 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -43,7 +43,8 @@ export function generateDockerPath(repo: string, folder: string, id: string) { export function buildWorkload( id: string, - dockerPath: string, + dockerImage: string, + workingDir: string, options?: string, context?: string ) { @@ -54,15 +55,17 @@ export function buildWorkload( core.info('Build docker image') await callAsync( `docker build ` + - `-t ${dockerPath}:latest ` + - `-t ${dockerPath}:gh-${github.context.sha} ` + + `-t ${dockerImage}:latest ` + + `-t ${dockerImage}:gh-${github.context.sha} ` + `${options} ` + - `${context}` + `${context}`, + false, + workingDir ) core.info('Push docker tag @latest') - await callAsync(`docker image push ${dockerPath}:latest`) + await callAsync(`docker image push ${dockerImage}:latest`) core.info(`Push docker tag '@gh-${github.context.sha}'`) - await callAsync(`docker image push ${dockerPath}:gh-${github.context.sha}`) + await callAsync(`docker image push ${dockerImage}:gh-${github.context.sha}`) }) } @@ -79,8 +82,9 @@ export function runWorkload( ) { return logGroup(`Workload ${options.id} - ${command}`, async () => { const workloadManifest = workloadManifestTemplate - .replace('${{LANGUAGE_ID}}', options.id) - .replace('${{COMMAND}}', command) + .replace(/\$\{\{LANGUAGE_ID\}\}/g, options.id) + .replace(/\$\{\{COMMAND\}\}/g, command) + .replace(/\$\{\{DOCKER_IMAGE\}\}/g, options.dockerPath) .replace( '${{ARGS}}', options.args @@ -99,7 +103,7 @@ export function runWorkload( )) ) - withTimeout( + await withTimeout( options.timeoutMins, 15, `Workload ${options.id} ${command}`, @@ -117,7 +121,7 @@ export function runWorkload( core.info( `Workload ${options.id} ${command} logs:\n` + (await callKubernetesAsync( - `logs job/${options.id}-wl-${command} -o=jsonpath={.status}` + `logs job/${options.id}-wl-${command}` )) ) throw new Error(msg) @@ -130,9 +134,7 @@ export function runWorkload( // print logs core.info( `Workload ${options.id} ${command} logs:\n` + - (await callKubernetesAsync( - `logs job/${options.id}-wl-${command} -o=jsonpath={.status}` - )) + (await callKubernetesAsync(`logs job/${options.id}-wl-${command}`)) ) return {startTime, endTime} }) From b27573e75026b1e7822dfad6d46ef666be19d1e2 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 15:53:37 +0300 Subject: [PATCH 20/77] feat: add getDataFromGrafana func --- src/__tests__/checkResults.test.ts | 104 +++++++++++++++++++++++++++++ src/checkResults.ts | 63 +++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 src/__tests__/checkResults.test.ts create mode 100644 src/checkResults.ts diff --git a/src/__tests__/checkResults.test.ts b/src/__tests__/checkResults.test.ts new file mode 100644 index 00000000..e8e891f6 --- /dev/null +++ b/src/__tests__/checkResults.test.ts @@ -0,0 +1,104 @@ +import {expect, test, jest} from '@jest/globals' + +// const callExecutables = jest.createMockFromModule( +// '../callExecutables' +// ) as typeof import('../callExecutables') +// callExecutables.callKubernetesPathAsync = async generator => { +// return generator('kubectl') +// } + +jest.mock('../callExecutables', () => ({ + __esModule: true, // this property makes it work + callKubernetesPathAsync: async (generator: (s: string) => string) => { + return generator('kubectl') + } +})) + +import {callKubernetesPathAsync, prepareK8S} from '../callExecutables' +callKubernetesPathAsync(t => 'test') +import {getDataFromGrafana} from '../checkResults' + +test('checkResults wget generation', async () => { + expect( + await getDataFromGrafana(new Date(1234000), new Date(5678000), [ + { + expr: 'expr1', + key: 'key1', + refId: 'refId1', + reqId: 'req1', + interval: '1s' + }, + { + expr: 'expr2', + key: 'key2', + refId: 'refId2', + reqId: 'req2', + interval: '', + format: 'time_series' + } + ]) + ).toStrictEqual( + `kubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '` + + `wget -q -O- --header='\\''content-type: application/json'\\'' ` + + `--post-data='\\''{ + "queries": [ + { + "refId": "refId1", + "expr": "expr1", + "key": "key1", + "requestId": "req1", + "interval": "1s", + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "legendFormat": "__auto", + "range": false, + "instant": true, + "exemplar": false, + "hide": false, + "queryType": "timeSeriesQuery", + "utcOffsetSec": 14400, + "datasourceId": 1, + "intervalMs": 5000, + "maxDataPoints": 1514 + }, + { + "refId": "refId2", + "expr": "expr2", + "key": "key2", + "requestId": "req2", + "interval": "", + "format": "time_series", + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "legendFormat": "__auto", + "range": false, + "instant": true, + "exemplar": false, + "hide": false, + "queryType": "timeSeriesQuery", + "utcOffsetSec": 14400, + "datasourceId": 1, + "intervalMs": 5000, + "maxDataPoints": 1514 + } + ], + "range": { + "from": "1970-01-01T00:20:34.000Z", + "to": "1970-01-01T01:34:38.000Z", + "raw": { + "from": "1970-01-01T00:20:34.000Z", + "to": "1970-01-01T01:34:38.000Z" + } + }, + "from": 1234000, + "to": 5678000 + }'\\''`.replace(/[\n ]/g, '') + + ` '\\''http://grafana/api/ds/query'\\'' | base64'` + ) +}) diff --git a/src/checkResults.ts b/src/checkResults.ts new file mode 100644 index 00000000..9fec1745 --- /dev/null +++ b/src/checkResults.ts @@ -0,0 +1,63 @@ +import {callKubernetesPathAsync} from './callExecutables' + +interface IGrafanaQuery { + refId: string + expr: string + reqId: string + key: string + interval: '1s' | '' + format?: 'time_series' +} + +export function getDataFromGrafana( + fromDate: Date, + toDate: Date, + queries: IGrafanaQuery[] +) { + const data = { + queries: queries.map(q => ({ + refId: q.refId, + expr: q.expr, + key: q.key, + requestId: q.reqId, + interval: q.interval, + ...(q.format ? {format: q.format} : {}), + datasource: { + type: 'prometheus', + uid: 'prometheus' + }, + editorMode: 'code', + legendFormat: '__auto', + range: false, + instant: true, + exemplar: false, + hide: false, + queryType: 'timeSeriesQuery', + utcOffsetSec: 14400, + datasourceId: 1, + intervalMs: 5000, + maxDataPoints: 1514 + })), + range: { + from: fromDate.toISOString(), + to: toDate.toISOString(), + raw: { + from: fromDate.toISOString(), + to: toDate.toISOString() + } + }, + from: fromDate.valueOf(), + to: toDate.valueOf() + } + + let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify( + data + )}' 'http://grafana/api/ds/query' | base64` + + busyboxCmd = busyboxCmd.replace(/'/g, "'\\''") + + return callKubernetesPathAsync( + kubectl => + `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'` + ) +} From 3264f8ad73ba25180ac0c8f053302e00e82eaf62 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 20:40:07 +0300 Subject: [PATCH 21/77] feat: add docker build from mac --- src/workload.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/workload.ts b/src/workload.ts index adc3e710..3b76e519 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -54,7 +54,7 @@ export function buildWorkload( return logGroup(`Build workload ${id}`, async () => { core.info('Build docker image') await callAsync( - `docker build ` + + `docker buildx build --platform linux/amd64 ` + `-t ${dockerImage}:latest ` + `-t ${dockerImage}:gh-${github.context.sha} ` + `${options} ` + @@ -81,13 +81,15 @@ export function runWorkload( options: IWorkloadRunOptions ) { return logGroup(`Workload ${options.id} - ${command}`, async () => { + const containerArgs = `database-sample-grpc:2135 /root/db-${options.id} ${options.args}` + const workloadManifest = workloadManifestTemplate .replace(/\$\{\{LANGUAGE_ID\}\}/g, options.id) .replace(/\$\{\{COMMAND\}\}/g, command) .replace(/\$\{\{DOCKER_IMAGE\}\}/g, options.dockerPath) .replace( '${{ARGS}}', - options.args + containerArgs .split(' ') .map(s => `'${s}'`) .join('\n - ') From 9bf4a60ce5421c43073d9f70da01f690e28c7a8b Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 20:51:58 +0300 Subject: [PATCH 22/77] feat: update workload manifest args --- k8s/ci/workload.yaml | 2 -- src/manifests.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/k8s/ci/workload.yaml b/k8s/ci/workload.yaml index ab5525ef..3993513c 100644 --- a/k8s/ci/workload.yaml +++ b/k8s/ci/workload.yaml @@ -14,7 +14,5 @@ spec: image: ${{DOCKER_IMAGE}}:latest args: - '${{COMMAND}}' - - 'grpc://database-sample-grpc:2135' - - '/root/database-sample' - ${{ARGS}} restartPolicy: Never diff --git a/src/manifests.json b/src/manifests.json index dc7c1b21..8d23310c 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - 'grpc://database-sample-grpc:2135'\n - '/root/database-sample'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file +{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file From 11108a9827e37f2cf8c48d0715fbfd7030ff3aef Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 20:53:05 +0300 Subject: [PATCH 23/77] fix: bugfix mutex obtainment --- src/main.ts | 4 +++- src/mutex.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.ts b/src/main.ts index 999e68a3..496856f2 100644 --- a/src/main.ts +++ b/src/main.ts @@ -60,6 +60,7 @@ async function main(): Promise { : workloads[0].id await obtainMutex(mutexId, 30) + core.info('Mutex obtained!') const dockerPaths = workloads.map(w => generateDockerPath(dockerRepo, dockerFolder, w.id) @@ -69,7 +70,8 @@ async function main(): Promise { const builded = workloads.map(() => false) const clusterWorkloadRes = await Promise.allSettled([ createCluster(version, 15), - + // TODO: create placeholder pods for databases + // TODO: catch build error and stop cluster creation ...workloads.map((wl, idx) => buildWorkload( wl.id, diff --git a/src/mutex.ts b/src/mutex.ts index fbd4a55c..e7a68592 100644 --- a/src/mutex.ts +++ b/src/mutex.ts @@ -39,7 +39,7 @@ export function obtainMutex( checkPeriod: number = 20 ) { return logGroup('Obtain mutex', async () => { - withTimeout(timeout, checkPeriod, 'Obtain mutex', () => { + return withTimeout(timeout, checkPeriod, 'Obtain mutex', () => { const busy = isBusy('slo-mutex') if (!busy) { setBusy(workloadId) From 45cfe099ebbeea35afc431924166b500030dfc24 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 20:54:05 +0300 Subject: [PATCH 24/77] feat: add error scheduler --- src/errorScheduler.ts | 104 ++++++++++++++++++++++++++++++++++++++++++ src/main.ts | 48 ++++++++++++------- 2 files changed, 135 insertions(+), 17 deletions(-) create mode 100644 src/errorScheduler.ts diff --git a/src/errorScheduler.ts b/src/errorScheduler.ts new file mode 100644 index 00000000..86715120 --- /dev/null +++ b/src/errorScheduler.ts @@ -0,0 +1,104 @@ +import * as core from '@actions/core' +import {callKubernetes, callKubernetesAsync} from './callExecutables' + +let grafanaPod: string | null = null + +export async function errorScheduler( + grafanaPodName: string, + timeBetweenS: number +) { + // get database target's IP + const targetIP = ( + await callKubernetesAsync( + `get pods database-sample-0 -o=jsonpath='{.status.podIP}'` + ) + ).split('\n')[0] + core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`) + + // get grafana pod name + grafanaPod = grafanaPodName + core.info(`Grafana pod name: ${grafanaPod}`) + + // wait until workload start? + // what is workload to wait to start for? + // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => { + // const status = JSON.parse( + // await callKubernetesAsync( + // `get job/${workloadId}-wl-run -o=jsonpath={.status}` + // ) + // ) + // if(status?.phase === 'Running') return true + // return false + // }) + + const freezeCmd = (freeze: '1' | '0') => + `run -it --image=busybox --rm tablet-${ + freeze === '0' ? 'un' : '' + }freezer --restart=Never --` + + ` sh -c "wget -q -O- '${targetIP}:8765/tablets/app?` + + `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' "` + + // freeze + await createError('Freeze tablet', freezeCmd('1'), timeBetweenS) + + // unfreeze + await createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS) + + // delete pod + await createError( + 'Delete database pod', + `delete pod database-sample-1`, + timeBetweenS + ) + + // force delete pod + await createError( + 'Delete database pod', + `delete pod database-sample-1 --force=true --grace-period=0`, + timeBetweenS + ) + + // kill from inside + await createError( + 'Delete database pod', + `exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'`, + timeBetweenS + ) + // TODO: add process sleep +} + +async function createError( + name: string, + kubeCommand: string, + timeBetweenS: number +): Promise { + return Promise.allSettled([ + // run command + callKubernetesAsync(kubeCommand), + // annotate + annotate(name), + // wait till next + new Promise(resolve => { + setTimeout(resolve, timeBetweenS * 1000) + }) + ]).then(v => { + if (v.filter(p => p.status === 'rejected').length > 0) + return Promise.reject('Error in YDB error creation') + }) +} + +// no tags, but possible to add if needed +export function annotate(text: string, dashboardUID = '7CzMl5t4k') { + const annotationsUrl = 'http://localhost:3000/api/annotations' + + const createWgetPost = (url: string, data: string) => + `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'` + + const data = `{\\"dashboardUID\\":\\"${dashboardUID}\\", \\"text\\":\\"${text}\\", \\"tags\\":[]}` + return callKubernetes( + `exec -it ${grafanaPod} --container grafana -- /bin/bash -c "${createWgetPost( + annotationsUrl, + data + )}"` + ) +} diff --git a/src/main.ts b/src/main.ts index 496856f2..6ff35529 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,6 +10,7 @@ import { runWorkload } from './workload' import {getInfrastractureEndpoints} from './getInfrastractureEndpoints' +import {errorScheduler} from './errorScheduler' async function main(): Promise { try { @@ -20,6 +21,7 @@ async function main(): Promise { dockerUser = '', dockerPass = '' let version = '' + const timeBetweenPhases = 30 if (version === '') version = '23.1.26' if (version === 'newest') { @@ -105,9 +107,10 @@ async function main(): Promise { } if (continueRun) { - await Promise.allSettled( - workloads.map(async (wl, idx) => { - await runWorkload('create', { + // retry on error? run in parrallel? run one by one? + const createResult = await Promise.allSettled( + workloads.map(async (wl, idx) => + runWorkload('create', { id: wl.id, dockerPath: dockerPaths[idx], timeoutMins: 2, @@ -115,28 +118,39 @@ async function main(): Promise { `--min-partitions-count 6 --max-partitions-count 1000` + ` --partition-size 1 --initial-data-count 1000` }) - - await Promise.allSettled([ - // retry on error? run in parrallel? run one by one? + ) + ) + core.debug('create results: ' + JSON.stringify(createResult)) + if (createResult.filter(r => r.status === 'fulfilled').length === 0) { + throw new Error('No workloads performed `create` action, exit') + } else { + const runResult = await Promise.allSettled([ + ...workloads.map(async (wl, idx) => runWorkload('run', { id: wl.id, dockerPath: dockerPaths[idx], timeoutMins: 6, args: - `--time 180 --shutdown-time 20 --read-rps 1000` + + `--time ${ + (5 + 2) * timeBetweenPhases + } --shutdown-time 30 --read-rps 1000` + ` --write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` }) - // run in parralel with workload - // core.info('Run error scheduler') - ]) - - core.info('Check results') - // + ), + errorScheduler(servicesPods.grafana, timeBetweenPhases) + ]) - core.info('Grafana screenshot') - // - }) - ) + core.debug('run results: ' + JSON.stringify(runResult)) + if (runResult.filter(r => r.status === 'fulfilled').length === 0) { + } else { + await Promise.allSettled([ + // core.info('Check results') + // // + // core.info('Grafana screenshot') + // // + ]) + } + } } deleteCluster() From afd3d2236ed83c19c8435797668b30420b3a1922 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 22:11:57 +0300 Subject: [PATCH 25/77] test: add workload and improve checkResult --- src/__tests__/checkResults.test.ts | 13 ++--- src/__tests__/workload.test.ts | 77 ++++++++++++++++++++++++++++++ src/workload.ts | 2 +- 3 files changed, 81 insertions(+), 11 deletions(-) create mode 100644 src/__tests__/workload.test.ts diff --git a/src/__tests__/checkResults.test.ts b/src/__tests__/checkResults.test.ts index e8e891f6..c33643f0 100644 --- a/src/__tests__/checkResults.test.ts +++ b/src/__tests__/checkResults.test.ts @@ -1,21 +1,14 @@ import {expect, test, jest} from '@jest/globals' -// const callExecutables = jest.createMockFromModule( -// '../callExecutables' -// ) as typeof import('../callExecutables') -// callExecutables.callKubernetesPathAsync = async generator => { -// return generator('kubectl') -// } - jest.mock('../callExecutables', () => ({ __esModule: true, // this property makes it work callKubernetesPathAsync: async (generator: (s: string) => string) => { return generator('kubectl') - } + }, + callAsync: async (v: string) => v, + callKubernetesAsync: async (v: string) => 'kubectl ' + v })) -import {callKubernetesPathAsync, prepareK8S} from '../callExecutables' -callKubernetesPathAsync(t => 'test') import {getDataFromGrafana} from '../checkResults' test('checkResults wget generation', async () => { diff --git a/src/__tests__/workload.test.ts b/src/__tests__/workload.test.ts new file mode 100644 index 00000000..97fae472 --- /dev/null +++ b/src/__tests__/workload.test.ts @@ -0,0 +1,77 @@ +import {expect, test, jest, afterEach} from '@jest/globals' + +import * as callExecutables from '../callExecutables' +import * as withTimeoutUtils from '../utils/withTimeout' +import {runWorkload} from '../workload' + +afterEach(() => { + jest.restoreAllMocks() +}) + +test('Workload `create` command generation', async () => { + const params = { + args: 'my test arguments', + dockerPath: 'reg.exmpl/org/image', + id: 'test_create_id', + timeoutMins: 3 + } + let counter = 0 + const spiedCheck = jest + .spyOn(callExecutables, 'callKubernetesAsync') + .mockImplementation(async (v: string) => { + if (v.indexOf(`-o=jsonpath={.status}`) > -1) { + counter++ + if (counter < 3) return '{"active": 1, "ready": 0}' + else return '{"complete": 1}' + } else return v + }) + let createCall = '' + const spiedCreate = jest + .spyOn(callExecutables, 'callKubernetesPathAsync') + .mockImplementation(async generator => { + createCall = generator('kubectl') + return generator('kubectl') + }) + + // remove waiting to speed up tests + const originalWithTimeout = withTimeoutUtils.withTimeout + const spiedWithTimeout = jest + .spyOn(withTimeoutUtils, 'withTimeout') + .mockImplementation((timeout, _, actionName, checkFunc) => + originalWithTimeout(timeout, 0.1, actionName, checkFunc) + ) + + await runWorkload('create', params) + expect(spiedCheck).toBeCalledWith( + 'get job/test_create_id-wl-create -o=jsonpath={.status}' + ) + expect(spiedCheck).toBeCalledTimes(4) + expect(spiedCreate).toBeCalledTimes(1) + expect(createCall).toStrictEqual(`kubectl apply -f - < { - const containerArgs = `database-sample-grpc:2135 /root/db-${options.id} ${options.args}` + const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}` const workloadManifest = workloadManifestTemplate .replace(/\$\{\{LANGUAGE_ID\}\}/g, options.id) From 9d7a3ef03ac290ee5c6dd3f718b8e111079066aa Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 23 May 2023 23:37:59 +0300 Subject: [PATCH 26/77] test: checkResults requestId generation --- src/__tests__/checkResults.test.ts | 159 +++++++++++++++-------------- src/checkResults.ts | 28 ++++- src/main.ts | 8 +- 3 files changed, 111 insertions(+), 84 deletions(-) diff --git a/src/__tests__/checkResults.test.ts b/src/__tests__/checkResults.test.ts index c33643f0..f799ff0e 100644 --- a/src/__tests__/checkResults.test.ts +++ b/src/__tests__/checkResults.test.ts @@ -12,86 +12,91 @@ jest.mock('../callExecutables', () => ({ import {getDataFromGrafana} from '../checkResults' test('checkResults wget generation', async () => { - expect( - await getDataFromGrafana(new Date(1234000), new Date(5678000), [ - { - expr: 'expr1', - key: 'key1', - refId: 'refId1', - reqId: 'req1', - interval: '1s' + const res = await getDataFromGrafana(new Date(1234000), new Date(5678000), [ + { + expr: 'expr1', + key: 'key1', + refId: 'refId1', + reqId: 'req1', + interval: '1s' + }, + { + expr: 'expr2', + key: 'key2', + refId: 'refId2', + reqId: 'req2', + interval: '', + format: 'time_series' + } + ]) + + // const requestId = res.match(/requestId":"([Q\-0-9a-zA-Z]+)"/)![1] + const keys = [...res.matchAll(/key":"([Q\-0-9a-z]+)"/g)].map(v => v![1]) + + const sample = `--post-data='\\''{ +"queries": [ + { + "requestId": "${keys.join('')}refId1", + "refId": "refId1", + "expr": "expr1", + "key": "${keys[0]}", + "interval": "1s", + "datasource": { + "type": "prometheus", + "uid": "prometheus" }, - { - expr: 'expr2', - key: 'key2', - refId: 'refId2', - reqId: 'req2', - interval: '', - format: 'time_series' - } - ]) - ).toStrictEqual( + "editorMode": "code", + "legendFormat": "__auto", + "range": false, + "instant": true, + "exemplar": false, + "hide": false, + "queryType": "timeSeriesQuery", + "utcOffsetSec": 14400, + "datasourceId": 1, + "intervalMs": 5000, + "maxDataPoints": 1514 + }, + { + "requestId": "${keys.join('')}refId2", + "refId": "refId2", + "expr": "expr2", + "key": "${keys[1]}", + "interval": "", + "format": "time_series", + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "legendFormat": "__auto", + "range": false, + "instant": true, + "exemplar": false, + "hide": false, + "queryType": "timeSeriesQuery", + "utcOffsetSec": 14400, + "datasourceId": 1, + "intervalMs": 5000, + "maxDataPoints": 1514 + } +], +"range": { + "from": "1970-01-01T00:20:34.000Z", + "to": "1970-01-01T01:34:38.000Z", + "raw": { + "from": "1970-01-01T00:20:34.000Z", + "to": "1970-01-01T01:34:38.000Z" + } +}, +"from": 1234000, +"to": 5678000 +}'\\''`.replace(/[\n ]/g, '') + + expect(res).toStrictEqual( `kubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '` + `wget -q -O- --header='\\''content-type: application/json'\\'' ` + - `--post-data='\\''{ - "queries": [ - { - "refId": "refId1", - "expr": "expr1", - "key": "key1", - "requestId": "req1", - "interval": "1s", - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "legendFormat": "__auto", - "range": false, - "instant": true, - "exemplar": false, - "hide": false, - "queryType": "timeSeriesQuery", - "utcOffsetSec": 14400, - "datasourceId": 1, - "intervalMs": 5000, - "maxDataPoints": 1514 - }, - { - "refId": "refId2", - "expr": "expr2", - "key": "key2", - "requestId": "req2", - "interval": "", - "format": "time_series", - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "legendFormat": "__auto", - "range": false, - "instant": true, - "exemplar": false, - "hide": false, - "queryType": "timeSeriesQuery", - "utcOffsetSec": 14400, - "datasourceId": 1, - "intervalMs": 5000, - "maxDataPoints": 1514 - } - ], - "range": { - "from": "1970-01-01T00:20:34.000Z", - "to": "1970-01-01T01:34:38.000Z", - "raw": { - "from": "1970-01-01T00:20:34.000Z", - "to": "1970-01-01T01:34:38.000Z" - } - }, - "from": 1234000, - "to": 5678000 - }'\\''`.replace(/[\n ]/g, '') + + sample + ` '\\''http://grafana/api/ds/query'\\'' | base64'` ) }) diff --git a/src/checkResults.ts b/src/checkResults.ts index 9fec1745..b16df5c6 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -1,3 +1,4 @@ +import crypto from 'crypto' import {callKubernetesPathAsync} from './callExecutables' interface IGrafanaQuery { @@ -9,17 +10,32 @@ interface IGrafanaQuery { format?: 'time_series' } +export function getUUID() { + const hexstring = crypto.randomBytes(16).toString('hex') + return ( + hexstring.substring(0, 8) + + '-' + + hexstring.substring(8, 12) + + '-' + + hexstring.substring(12, 16) + + '-' + + hexstring.substring(16, 20) + + '-' + + hexstring.substring(20) + ) +} + export function getDataFromGrafana( fromDate: Date, toDate: Date, queries: IGrafanaQuery[] ) { const data = { - queries: queries.map(q => ({ + queries: queries.map((q, i) => ({ refId: q.refId, expr: q.expr, - key: q.key, - requestId: q.reqId, + key: `Q-${getUUID()}-${i}`, + // requestId: `Q-${getUUID()}-${i}`, interval: q.interval, ...(q.format ? {format: q.format} : {}), datasource: { @@ -50,6 +66,12 @@ export function getDataFromGrafana( to: toDate.valueOf() } + let requestId = data.queries.reduce((acc, v) => (acc += v.key), '') + data.queries = data.queries.map(q => ({ + requestId: `${requestId}${q.refId}`, + ...q + })) + let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify( data )}' 'http://grafana/api/ds/query' | base64` diff --git a/src/main.ts b/src/main.ts index 6ff35529..985c7730 100644 --- a/src/main.ts +++ b/src/main.ts @@ -115,8 +115,8 @@ async function main(): Promise { dockerPath: dockerPaths[idx], timeoutMins: 2, args: - `--min-partitions-count 6 --max-partitions-count 1000` + - ` --partition-size 1 --initial-data-count 1000` + `--min-partitions-count 6 --max-partitions-count 1000 ` + + `--partition-size 1 --initial-data-count 1000` }) ) ) @@ -133,8 +133,8 @@ async function main(): Promise { args: `--time ${ (5 + 2) * timeBetweenPhases - } --shutdown-time 30 --read-rps 1000` + - ` --write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` + } --shutdown-time 30 --read-rps 1000 ` + + `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` }) ), errorScheduler(servicesPods.grafana, timeBetweenPhases) From 7d7e1a04845d3e98e0c3dcd2b64fcb410482b31c Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:14:37 +0300 Subject: [PATCH 27/77] test: remove logging in test --- src/__tests__/callInParallel.test.ts | 9 ++++++++- src/__tests__/checkResults.test.ts | 16 +++++++--------- src/__tests__/parseArguments.test.ts | 16 ++++++++++++++-- src/__tests__/workload.test.ts | 14 +++++++++++++- 4 files changed, 42 insertions(+), 13 deletions(-) diff --git a/src/__tests__/callInParallel.test.ts b/src/__tests__/callInParallel.test.ts index e0991147..9f8e79dc 100644 --- a/src/__tests__/callInParallel.test.ts +++ b/src/__tests__/callInParallel.test.ts @@ -1,5 +1,12 @@ -import {expect, test} from '@jest/globals' +import {expect, test, beforeAll} from '@jest/globals' +import * as core from '@actions/core' import {callAsync} from '../callExecutables' +beforeAll(() => { + // @ts-ignore + core.debug = () => {} + // @ts-ignore + core.info = () => {} +}) test('Sleep in parallel', async () => { const timeStart = new Date().valueOf() diff --git a/src/__tests__/checkResults.test.ts b/src/__tests__/checkResults.test.ts index f799ff0e..6e5e4496 100644 --- a/src/__tests__/checkResults.test.ts +++ b/src/__tests__/checkResults.test.ts @@ -1,13 +1,11 @@ -import {expect, test, jest} from '@jest/globals' +import * as core from '@actions/core' -jest.mock('../callExecutables', () => ({ - __esModule: true, // this property makes it work - callKubernetesPathAsync: async (generator: (s: string) => string) => { - return generator('kubectl') - }, - callAsync: async (v: string) => v, - callKubernetesAsync: async (v: string) => 'kubectl ' + v -})) +beforeAll(() => { + // @ts-ignore + core.debug = () => {} + // @ts-ignore + core.info = () => {} +}) import {getDataFromGrafana} from '../checkResults' diff --git a/src/__tests__/parseArguments.test.ts b/src/__tests__/parseArguments.test.ts index 66c7ce08..f14884d0 100644 --- a/src/__tests__/parseArguments.test.ts +++ b/src/__tests__/parseArguments.test.ts @@ -1,6 +1,18 @@ -import {expect, test} from '@jest/globals' +import {expect, test, beforeAll} from '@jest/globals' +import * as core from '@actions/core' import {parseArguments} from '../parseArguments' +beforeAll(() => { + // @ts-ignore + core.debug = () => {} + // @ts-ignore + core.info = () => {} + // @ts-ignore + core.startGroup = () => {} + // @ts-ignore + core.endGroup = () => {} +}) + function checkSuffixes(suffixes: string[]) { suffixes.map(suffix => { process.env[`INPUT_LANGUAGE_ID${suffix}`] = `my_test_language_id${suffix}` @@ -8,7 +20,7 @@ function checkSuffixes(suffixes: string[]) { `INPUT_WORKLOAD_PATH${suffix}` ] = `my_test_workload_path${suffix}` }) - expect(parseArguments()).toStrictEqual( + expect(parseArguments().workloads).toStrictEqual( suffixes.map(suffix => ({ id: `my_test_language_id${suffix}`, path: `my_test_workload_path${suffix}` diff --git a/src/__tests__/workload.test.ts b/src/__tests__/workload.test.ts index 97fae472..1a5acb29 100644 --- a/src/__tests__/workload.test.ts +++ b/src/__tests__/workload.test.ts @@ -1,9 +1,21 @@ -import {expect, test, jest, afterEach} from '@jest/globals' +import {expect, test, jest, afterEach, beforeAll} from '@jest/globals' +import * as core from '@actions/core' import * as callExecutables from '../callExecutables' import * as withTimeoutUtils from '../utils/withTimeout' import {runWorkload} from '../workload' +beforeAll(() => { + // @ts-ignore + core.debug = () => {} + // @ts-ignore + core.info = () => {} + // @ts-ignore + core.startGroup = () => {} + // @ts-ignore + core.endGroup = () => {} +}) + afterEach(() => { jest.restoreAllMocks() }) From 313342332076b2b1af30c51da2ac5acb6e8c8b51 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:15:24 +0300 Subject: [PATCH 28/77] test: add filterGraphData test --- src/__tests__/checkResults.test.ts | 77 ++++++++++-- src/checkResults.ts | 180 +++++++++++++++++++++++++++-- 2 files changed, 238 insertions(+), 19 deletions(-) diff --git a/src/__tests__/checkResults.test.ts b/src/__tests__/checkResults.test.ts index 6e5e4496..ef391f54 100644 --- a/src/__tests__/checkResults.test.ts +++ b/src/__tests__/checkResults.test.ts @@ -1,4 +1,11 @@ +import {expect, test, jest, afterEach, beforeAll} from '@jest/globals' import * as core from '@actions/core' +import * as callExecutables from '../callExecutables' +import { + filterGraphData, + getDataFromGrafana, + checkGraphValues +} from '../checkResults' beforeAll(() => { // @ts-ignore @@ -7,22 +14,32 @@ beforeAll(() => { core.info = () => {} }) -import {getDataFromGrafana} from '../checkResults' +afterEach(() => { + jest.restoreAllMocks() +}) test('checkResults wget generation', async () => { + const spiedĐĄallAsync = jest + .spyOn(callExecutables, 'callAsync') + .mockImplementation(async (v: string) => v) + const spiedĐĄallKubernetesAsync = jest + .spyOn(callExecutables, 'callKubernetesAsync') + .mockImplementation(async (v: string) => 'kubectl ' + v) + const spiedĐĄallKubernetesPathAsync = jest + .spyOn(callExecutables, 'callKubernetesPathAsync') + .mockImplementation(async (generator: (s: string) => string) => { + return Buffer.from(generator('kubectl'), 'utf8').toString('base64') + }) + const res = await getDataFromGrafana(new Date(1234000), new Date(5678000), [ { expr: 'expr1', - key: 'key1', refId: 'refId1', - reqId: 'req1', interval: '1s' }, { expr: 'expr2', - key: 'key2', refId: 'refId2', - reqId: 'req2', interval: '', format: 'time_series' } @@ -87,14 +104,54 @@ test('checkResults wget generation', async () => { "to": "1970-01-01T01:34:38.000Z" } }, -"from": 1234000, -"to": 5678000 +"from": "1234000", +"to": "5678000" }'\\''`.replace(/[\n ]/g, '') - expect(res).toStrictEqual( - `kubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '` + - `wget -q -O- --header='\\''content-type: application/json'\\'' ` + + expect(res).toContain( + 'kubectl run -q -i --image=busybox --rm grafana-result-peeker' + ) + expect(res).toContain( + ` --restart=Never -- sh -c 'wget -q -O- --header='\\''content-type: application/json'\\'' ` + sample + ` '\\''http://grafana/api/ds/query'\\'' | base64'` ) }) + +test('filterGraphData', () => { + const sampleFilter = filterGraphData({a: '123', b: '234'}) + expect(sampleFilter({value: 1, labels: {a: '123'}})).toBe(false) + expect(sampleFilter({value: 1, labels: {a: '123', b: '234'}})).toBe(true) +}) + +test('checkGraphValues', () => { + const checks = checkGraphValues( + { + abc: [{labels: {a: 'a', b: 'b', c: 'c'}, value: 15}], + def: [ + {labels: {d: 'd', e: 'e'}, value: -10}, + {labels: {e: 'e', f: 'f'}, value: 10} + ] + }, + { + abc: [ + {filter: {a: 'a', b: 'b', c: 'c'}, value: ['>', 10]}, + {filter: {}, value: ['<', 10]} + ], + def: [ + {filter: {e: 'e'}, value: ['<', 0]}, + {filter: {c: 'c', e: 'e'}, value: ['<', 0]} + ], + xyz: [{filter: {a: 'a'}, value: ['>', 0]}] + } + ) + + expect(checks).toStrictEqual([ + ['abc{"a":"a","b":"b","c":"c"}[0]', 'ok', '15 > 10'], + ['abc{}[0]', 'error', '15 !< 10'], + ['def{"e":"e"}[0]', 'ok', '-10 < 0'], + ['def{"e":"e"}[1]', 'error', '10 !< 0'], + ['def{"c":"c","e":"e"}', 'error', 'Not found results by filter to inspect'], + ['xyz{"a":"a"}', 'error', 'Not found results by filter to inspect'] + ]) +}) diff --git a/src/checkResults.ts b/src/checkResults.ts index b16df5c6..49bf7bf0 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -1,11 +1,13 @@ import crypto from 'crypto' +import * as core from '@actions/core' +import * as github from '@actions/github' +import {GitHub} from '@actions/github/lib/utils' import {callKubernetesPathAsync} from './callExecutables' +import {retry} from './utils/retry' -interface IGrafanaQuery { +export interface IGrafanaQuery { refId: string expr: string - reqId: string - key: string interval: '1s' | '' format?: 'time_series' } @@ -25,7 +27,7 @@ export function getUUID() { ) } -export function getDataFromGrafana( +export async function getDataFromGrafana( fromDate: Date, toDate: Date, queries: IGrafanaQuery[] @@ -62,8 +64,8 @@ export function getDataFromGrafana( to: toDate.toISOString() } }, - from: fromDate.valueOf(), - to: toDate.valueOf() + from: '' + fromDate.valueOf(), + to: '' + toDate.valueOf() } let requestId = data.queries.reduce((acc, v) => (acc += v.key), '') @@ -78,8 +80,168 @@ export function getDataFromGrafana( busyboxCmd = busyboxCmd.replace(/'/g, "'\\''") - return callKubernetesPathAsync( - kubectl => - `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'` + core.debug( + `getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'` ) + + return Buffer.from( + await callKubernetesPathAsync( + kubectl => + `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil( + (Math.random() * 1000) % 1000 + )} --restart=Never -- sh -c '${busyboxCmd}'` + ), + 'base64' + ).toString('utf8') +} + +interface IParsedResult { + value: number + labels: { + [key: string]: string + } +} +export interface IParsedResults { + [queryName: string]: IParsedResult[] +} + +interface IDesiredResult { + filter: {[label: string]: string} + value: ['>' | '<', number] +} +export interface IDesiredResults { + [queryName: keyof IParsedResults]: IDesiredResult[] +} + +export function parseRawGraph(dataString: string) { + const data = JSON.parse(dataString) + core.debug('Parsed JSON graph data ' + JSON.stringify(data)) + const keys = Object.keys(data.results) + core.debug('Process graph data') + return keys.reduce((acc, k) => { + acc[k] = data.results[k].frames.map((f: any) => ({ + value: f?.data?.values?.[1]?.[0], + labels: f?.schema?.fields?.[1]?.labels + })) + return acc + }, {} as IParsedResults) +} + +export function filterGraphData(filter: IDesiredResult['filter']) { + return function filterGraphFun(result: IParsedResult) { + return Object.entries(filter).reduce((prev, filt) => { + return prev && result.labels[filt[0]] === filt[1] + }, true) + } +} + +export function checkGraphValues( + workloadId: string, + realResults: IParsedResults, + desiredResults: IDesiredResults +) { + // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]} + let checks: [ + key: string, + decision: 'ok' | 'error' | 'notfound', + text: string + ][] = [] + for (const queryName of Object.keys(desiredResults)) { + const result = realResults[queryName] + const desired = desiredResults[queryName] + + for (const desiredRes of desired) { + const filter = {job: `workload-${workloadId}`, ...desiredRes.filter} + let inspected = (result || []).filter(filterGraphData(filter)) + const checkName = `${queryName}${JSON.stringify(filter)}` + if (inspected.length === 0) { + checks.push([ + checkName, + 'notfound', + `Not found results by filter to inspect` + ]) + } else { + for (const [i, inspectedRes] of Object.entries(inspected)) { + const decision = + desiredRes.value[0] === '>' + ? inspectedRes.value > desiredRes.value[1] + : inspectedRes.value < desiredRes.value[1] + + checks.push([ + `${checkName}[${i}]`, + decision ? 'ok' : 'error', + `${inspectedRes.value} ${decision ? '' : '!'}${ + desiredRes.value[0] + } ${desiredRes.value[1]}` + ]) + } + } + } + } + return checks +} + +export async function checkResults( + octokit: InstanceType, + workloadId: string, + fromDate: Date, + toDate: Date, + desiredResults: IDesiredResults, + queries?: IGrafanaQuery[] +) { + core.info('Check results') + core.debug( + `Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})` + ) + if (!queries) + queries = [ + { + refId: 'success_rate', + expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0', + interval: '1s' + }, + { + refId: 'max_99_latency', + expr: 'max_over_time(latency{quantile="0.99"}[$__range])>0', + interval: '' + }, + { + refId: 'fail_interval', + expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0', + interval: '1s' + } + ] + + const parsed = await retry(2, async () => { + const graphsRaw = await getDataFromGrafana(fromDate, toDate, queries!) + core.debug('graphsRaw: ' + graphsRaw) + return parseRawGraph(graphsRaw) + }) + + core.debug('parsed: ' + JSON.stringify(parsed)) + const checks = checkGraphValues(workloadId, parsed, desiredResults) + + for (let i = 0; i < checks.length; i++) { + const conclusion = + checks[i][1] === 'error' + ? 'failure' + : checks[i][1] === 'notfound' + ? 'neutral' + : 'success' + const checkParams = { + owner: github.context.repo.owner, + repo: github.context.repo.repo, + name: `slo_check_${checks[i][0]}`, + status: 'completed', + conclusion: conclusion, + output: { + title: `SLO results check #${0}`, + summary: checks[i][2], + text: checks[i][2] + } + } + + await octokit.rest.checks.create(checkParams) + } + return checks.filter(ch => ch[1] == 'error').length > 0 } From 8c827e03d903add849fa03dd47e72cdfb60db231 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:15:44 +0300 Subject: [PATCH 29/77] feat: add call id logging --- src/callExecutables.ts | 61 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 783c0a49..95c6df63 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -6,6 +6,7 @@ import path from 'path' import {logGroup} from './utils/groupDecorator' let kubectlPath: string | null = null +let callId = 0 export function prepareK8S(base64kubeconfig: string) { return logGroup('Prepare k8s', () => { @@ -36,10 +37,46 @@ export function prepareK8S(base64kubeconfig: string) { }) } +export async function prepareAWS( + awsCredentialsB64: string, + awsConfigB64: string +) { + // create ~/.aws folder + const kubePath = path.join(homedir(), '.aws') + core.info(`mkdir ${kubePath}`) + try { + mkdirSync(kubePath) + } catch (error: any) { + core.debug('error' + JSON.stringify(error)) + if (error?.code === 'EEXIST') { + core.debug(kubePath + ' EEXIST') + } else throw error + } + + // add awsCredentials + if (awsCredentialsB64.length > 0) { + core.debug('Get aws credentials string') + const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString( + 'utf8' + ) + core.info(`Write awsCredentials to ~/.aws/credentials`) + writeFileSync(path.join(homedir(), '.aws/credentials'), awsCredentials) + } + + // add awsConfig + if (awsConfigB64.length > 0) { + core.debug('Get aws credentials string') + const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8') + core.info(`Write awsConfig to ~/.aws/config`) + writeFileSync(path.join(homedir(), '.aws/config'), awsConfig) + } +} + export function call(command: string, secret = false) { - !secret && core.info(`Call command: '${command}'`) + const id = ++callId + !secret && core.info(`Call #${id} command: '${command}'`) const spawnResult = execSync(command, {encoding: 'utf8', stdio: 'pipe'}) - core.debug('call result ' + spawnResult) + core.debug(`Call #${id} result ${spawnResult}`) return spawnResult } @@ -49,11 +86,12 @@ export function callAsync( cwd = '.' ): Promise { return new Promise((resolve, reject) => { - !secret && core.info(`Call async command: '${command}'`) + const id = ++callId + !secret && core.info(`Call #${id} command: '${command}'`) const proc = exec(command, {encoding: 'utf8', cwd}) if (!proc.stdio || !proc.stdout || !proc.stderr) { - core.info(`Error in callAsync: can't spawn process`) - throw new Error(`Error in callAsync: can't spawn process`) + core.info(`Error in callAsync #${id}: can't spawn process`) + throw new Error(`Error in callAsync #${id}: can't spawn process`) } let out = '', @@ -62,20 +100,21 @@ export function callAsync( proc.stderr.on('data', data => (err += data.toString())) proc.on('close', code => { - core.debug(`Call async code = ${code}`) + core.debug(`Call #${id} async code = ${code}`) if (code == 0) { - core.debug(`Call async output \n${out}`) + core.debug(`Call #${id} async output \n${out}`) resolve(out) } else { - if (secret) core.debug('Call async with secrets failed - on close') - else core.debug('Call async failed - on close:\n' + err) + if (secret) + core.debug(`Call #${id} async with secrets failed - on close`) + else core.debug(`Call #${id} async failed - on close:\n${err}`) reject(new Error(err)) } }) proc.on('error', err => { - if (secret) core.debug('Call async with secrets failed - on error') - else core.debug('Call async failed - on error:\n' + err) + if (secret) core.debug(`Call #${id} async with secrets failed - on error`) + else core.debug(`Call #${id} async failed - on error:\n${err}`) reject(err) }) From 54c68a1a87d897f5a3c7c088e044b6307df2a58c Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:27:23 +0300 Subject: [PATCH 30/77] fix: bugfix errorScheduler --- src/errorScheduler.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/errorScheduler.ts b/src/errorScheduler.ts index 86715120..4684180c 100644 --- a/src/errorScheduler.ts +++ b/src/errorScheduler.ts @@ -31,6 +31,10 @@ export async function errorScheduler( // return false // }) + await new Promise(resolve => { + setTimeout(resolve, timeBetweenS * 1000) + }) + const freezeCmd = (freeze: '1' | '0') => `run -it --image=busybox --rm tablet-${ freeze === '0' ? 'un' : '' @@ -53,15 +57,15 @@ export async function errorScheduler( // force delete pod await createError( - 'Delete database pod', + 'Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS ) // kill from inside await createError( - 'Delete database pod', - `exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'`, + 'Kill database from inside', + `exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`, timeBetweenS ) // TODO: add process sleep @@ -72,7 +76,7 @@ async function createError( kubeCommand: string, timeBetweenS: number ): Promise { - return Promise.allSettled([ + return await Promise.allSettled([ // run command callKubernetesAsync(kubeCommand), // annotate From cf05d201d11720d6aa32347e0a467e4313fa232b Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:35:07 +0300 Subject: [PATCH 31/77] feat: add retries to infra endpoints, wl create --- src/getInfrastractureEndpoints.ts | 13 ++++++++++--- src/main.ts | 21 ++++++++++++--------- src/utils/retry.ts | 18 ++++++++++++++++++ src/utils/withTimeout.ts | 13 +++++++++++++ 4 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 src/utils/retry.ts diff --git a/src/getInfrastractureEndpoints.ts b/src/getInfrastractureEndpoints.ts index 17b119d8..5218a487 100644 --- a/src/getInfrastractureEndpoints.ts +++ b/src/getInfrastractureEndpoints.ts @@ -1,4 +1,6 @@ import {callKubernetesAsync} from './callExecutables' +import {retry} from './utils/retry' +import {withTimeoutSimple} from './utils/withTimeout' export async function getInfrastractureEndpoints() { const services = [ @@ -31,7 +33,12 @@ export async function getInfrastractureEndpoints() { } function getEndpoint(kubeName: string) { - return callKubernetesAsync( - `get pods -l "app.kubernetes.io/name=${kubeName}" -o jsonpath="{.items[0].metadata.name}"` - ).then(s => s.split('\n')[0]) + return retry(2, () => { + return withTimeoutSimple( + 10, + callKubernetesAsync( + `get pods -l "app.kubernetes.io/name=${kubeName}" -o jsonpath="{.items[0].metadata.name}"` + ).then(s => s.split('\n')[0]) + ) + }) } diff --git a/src/main.ts b/src/main.ts index 985c7730..f08d0e43 100644 --- a/src/main.ts +++ b/src/main.ts @@ -11,6 +11,7 @@ import { } from './workload' import {getInfrastractureEndpoints} from './getInfrastractureEndpoints' import {errorScheduler} from './errorScheduler' +import {retry} from './utils/retry' async function main(): Promise { try { @@ -107,17 +108,19 @@ async function main(): Promise { } if (continueRun) { - // retry on error? run in parrallel? run one by one? + // retry create operation one time in case of error const createResult = await Promise.allSettled( workloads.map(async (wl, idx) => - runWorkload('create', { - id: wl.id, - dockerPath: dockerPaths[idx], - timeoutMins: 2, - args: - `--min-partitions-count 6 --max-partitions-count 1000 ` + - `--partition-size 1 --initial-data-count 1000` - }) + retry(2, () => + runWorkload('create', { + id: wl.id, + dockerPath: dockerPaths[idx], + timeoutMins: 2, + args: + `--min-partitions-count 6 --max-partitions-count 1000 ` + + `--partition-size 1 --initial-data-count 1000` + }) + ) ) ) core.debug('create results: ' + JSON.stringify(createResult)) diff --git a/src/utils/retry.ts b/src/utils/retry.ts new file mode 100644 index 00000000..9d01ebd1 --- /dev/null +++ b/src/utils/retry.ts @@ -0,0 +1,18 @@ +import * as core from '@actions/core' + +export async function retry( + retries: number, + inner: () => Promise +): Promise { + let error: unknown + while (retries > 0) { + try { + return await inner() + } catch (e) { + error = e + } + retries-- + } + core.info('All retries have been used, re-throwing error') + throw error +} diff --git a/src/utils/withTimeout.ts b/src/utils/withTimeout.ts index efb8447e..54f6af7b 100644 --- a/src/utils/withTimeout.ts +++ b/src/utils/withTimeout.ts @@ -16,11 +16,24 @@ export async function withTimeout( `Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )` ) do { + core.debug( + `withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )` + ) if (await checkFunc()) return await new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000)) } while (new Date().valueOf() < deadline) + core.debug(`withTimeout throw timeout`) throw new TimeoutExceededError( `${actionName} not done within timeout of ${timeoutM}min` ) } + +export async function withTimeoutSimple(timeoutS: number, func: Promise) { + return Promise.race([ + func, + new Promise((_, reject) => + setTimeout(reject, timeoutS * 1000) + ) as Promise + ]) +} From 28c846111b0d84e9f8ee2ae6a600934f254c5994 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:42:54 +0300 Subject: [PATCH 32/77] feat: add other arguments to parseArguments --- src/callExecutables.ts | 5 +-- src/main.ts | 74 +++++++++++++++++++++++++----------------- src/parseArguments.ts | 54 ++++++++++++++++++++++++++++-- 3 files changed, 98 insertions(+), 35 deletions(-) diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 95c6df63..6159e501 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -37,10 +37,7 @@ export function prepareK8S(base64kubeconfig: string) { }) } -export async function prepareAWS( - awsCredentialsB64: string, - awsConfigB64: string -) { +export function prepareAWS(awsCredentialsB64: string, awsConfigB64: string) { // create ~/.aws folder const kubePath = path.join(homedir(), '.aws') core.info(`mkdir ${kubePath}`) diff --git a/src/main.ts b/src/main.ts index f08d0e43..72332e3a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,8 +1,10 @@ import * as core from '@actions/core' -import {IWorkloadOptions, parseArguments} from './parseArguments' -import {prepareK8S} from './callExecutables' +import * as github from '@actions/github' +import {GitHub} from '@actions/github/lib/utils' +import {parseArguments} from './parseArguments' +import {call, prepareAWS, prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' -import {createCluster, deleteCluster, getYdbVersions} from './cluster' +import {createCluster, deleteCluster} from './cluster' import { buildWorkload, dockerLogin, @@ -13,28 +15,36 @@ import {getInfrastractureEndpoints} from './getInfrastractureEndpoints' import {errorScheduler} from './errorScheduler' import {retry} from './utils/retry' +const isPullRequest = !!github.context.payload.pull_request + async function main(): Promise { try { - let workloads: IWorkloadOptions[] = parseArguments() - const base64kubeconfig = '' - const dockerRepo = '', - dockerFolder = '', - dockerUser = '', - dockerPass = '' - let version = '' - const timeBetweenPhases = 30 - - if (version === '') version = '23.1.26' - if (version === 'newest') { - core.info('Get YDB docker versions') - const ydbVersions = getYdbVersions() - version = ydbVersions[ydbVersions.length - 1] - core.info(`Use YDB docker version = '${version}'`) - } - - prepareK8S(base64kubeconfig) - - await dockerLogin(dockerRepo, dockerUser, dockerPass) + let { + workloads, + githubToken, + kubeconfig, + awsCredentials, + awsConfig, + s3Endpoint, + s3Folder, + dockerRepo, + dockerFolder, + dockerUsername, + dockerPassword, + ydbVersion, + timeBetweenPhases, + shutdownTime, + grafanaDomain, + grafanaDashboard + } = parseArguments() + + core.debug(`Setting up OctoKit`) + const octokit = github.getOctokit(githubToken) + + prepareK8S(kubeconfig) + prepareAWS(awsCredentials, awsConfig) + + await dockerLogin(dockerRepo, dockerUsername, dockerPassword) // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer const servicesPods = await getInfrastractureEndpoints() @@ -72,7 +82,7 @@ async function main(): Promise { core.info('Create cluster and build all workloads') const builded = workloads.map(() => false) const clusterWorkloadRes = await Promise.allSettled([ - createCluster(version, 15), + createCluster(ydbVersion, 15), // TODO: create placeholder pods for databases // TODO: catch build error and stop cluster creation ...workloads.map((wl, idx) => @@ -127,16 +137,19 @@ async function main(): Promise { if (createResult.filter(r => r.status === 'fulfilled').length === 0) { throw new Error('No workloads performed `create` action, exit') } else { + // run in parrallel without retries const runResult = await Promise.allSettled([ - ...workloads.map(async (wl, idx) => + ...workloads.map((wl, idx) => runWorkload('run', { id: wl.id, dockerPath: dockerPaths[idx], - timeoutMins: 6, + timeoutMins: Math.ceil( + ((5 + 4) * timeBetweenPhases + shutdownTime) / 60 + ), args: `--time ${ (5 + 2) * timeBetweenPhases - } --shutdown-time 30 --read-rps 1000 ` + + } --shutdown-time ${shutdownTime} --read-rps 1000 ` + `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` }) ), @@ -167,8 +180,11 @@ async function main(): Promise { const isPostAction = !!core.getState('isPost') if (isPostAction) { - core.info('Cleanup should be placed here') - // TODO: cleanup + core.info('Cleanup') + core.debug('Remove .kube dir') + call('rm -rf ~/.kube') + core.debug('Remove .aws dir') + call('rm -rf ~/.aws') } else { main() } diff --git a/src/parseArguments.ts b/src/parseArguments.ts index 5b796b41..02749769 100644 --- a/src/parseArguments.ts +++ b/src/parseArguments.ts @@ -1,5 +1,6 @@ import * as core from '@actions/core' import {logGroup} from './utils/groupDecorator' +import {getYdbVersions} from './cluster' export interface IWorkloadOptions { /** SDK language or language+variant for kuberetes, prometheus metrics, PR comments */ @@ -15,7 +16,7 @@ export interface IWorkloadOptions { } export function parseArguments() { - return logGroup('Prepare k8s', () => { + return logGroup('Parse arguments', () => { let workloads: IWorkloadOptions[] = [] let i = -1, haveValue = true @@ -30,8 +31,57 @@ export function parseArguments() { i++ } while (haveValue) + const githubToken: string = core.getInput('GITHUB_TOKEN') + const kubeconfig = core.getInput('KUBECONFIG_B64') + const dockerRepo = core.getInput('DOCKER_REPO') + const dockerFolder = core.getInput('DOCKER_FOLDER') + const dockerUsername = core.getInput('DOCKER_USERNAME') + const dockerPassword = core.getInput('DOCKER_PASSWORD') + const awsCredentials = core.getInput('AWS_CREDENTIALS') + const awsConfig = core.getInput('AWS_CONFIG') + const s3Endpoint = core.getInput('S3_ENDPOINT') + const s3Folder = core.getInput('S3_IMAGES_FOLDER') + const grafanaDomain = core.getInput('GRAFANA_DOMAIN') + const grafanaDashboard = core.getInput('GRAFANA_DASHBOARD') + + let ydbVersion = core.getInput('ydb_version') + + const timeBetweenPhases = Number( + core.getInput('time_between_phases') || '20' + ) + const shutdownTime = Number(core.getInput('shutdown_time') || '30') + + if (isNaN(timeBetweenPhases)) + throw new Error('time_between_phases is not a number') + if (isNaN(shutdownTime)) throw new Error('shutdown_time is not a number') + + if (ydbVersion === '') ydbVersion = '23.1.26' + if (ydbVersion === 'newest') { + core.info('Get YDB docker versions') + const ydbVersions = getYdbVersions() + ydbVersion = ydbVersions[ydbVersions.length - 1] + core.info(`Use YDB docker version = '${ydbVersion}'`) + } + // TODO: add other args - return workloads + return { + workloads, + githubToken, + kubeconfig, + awsCredentials, + awsConfig, + s3Endpoint, + s3Folder, + dockerRepo, + dockerFolder, + dockerUsername, + dockerPassword, + ydbVersion, + timeBetweenPhases, + shutdownTime, + grafanaDomain, + grafanaDashboard + } }) } From bd748aedc53e2994909618143d811995b14425b1 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:50:58 +0300 Subject: [PATCH 33/77] feat: add checkResult and grafanaScreenshot --- src/grafanaScreenshot.ts | 68 +++++++++++++++++++++++++++++++ src/main.ts | 88 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 src/grafanaScreenshot.ts diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts new file mode 100644 index 00000000..03d5171c --- /dev/null +++ b/src/grafanaScreenshot.ts @@ -0,0 +1,68 @@ +import path from 'path' +import * as core from '@actions/core' +import {context} from '@actions/github' +import {GitHub} from '@actions/github/lib/utils' +import {callAsync, callKubernetesAsync} from './callExecutables' + +export async function grafanaScreenshot( + s3Endpoint: string, + s3Folder: string, + workloadId: string, + startTime: Date, + endTime: Date, + dashboard = '7CzMl5t4k', + width = 1500, + height = 1100 +) { + core.debug( + `grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})` + ) + const query = `http://grafana/render/d/${dashboard}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv` + core.debug('grafana query: ' + query) + const imageb64 = await callKubernetesAsync( + `run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"` + ) + core.debug( + 'grafana imageb64: ' + + imageb64.slice(0, 100) + + '...TRUNCATED...' + + imageb64.slice(-100) + ) + // write image to fs + await callAsync(`echo "${imageb64}" | base64 --decode > pic.png`) + + const pictureName = `${workloadId}-${new Date().valueOf()}.png` + // upload + + await callAsync( + `aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png "s3://${path.join( + s3Folder, + pictureName + )}"` + ) + // delete + await callAsync(`rm pic.png`) + // return name + const fullPictureUri = path.join(s3Endpoint, s3Folder, pictureName) + core.debug('fullPictureUri: ' + fullPictureUri) + return `${fullPictureUri}` +} + +export async function postComment( + octokit: InstanceType, + id: number, + message: string +) { + if (!context.payload.pull_request) return + const data = { + ...context.repo, + issue_number: context.payload.pull_request.number, + comment_id: id, + body: message + } + try { + await octokit.rest.issues.createComment(data) + } catch (error) { + await octokit.rest.issues.updateComment(data) + } +} diff --git a/src/main.ts b/src/main.ts index 72332e3a..4336ab02 100644 --- a/src/main.ts +++ b/src/main.ts @@ -14,6 +14,9 @@ import { import {getInfrastractureEndpoints} from './getInfrastractureEndpoints' import {errorScheduler} from './errorScheduler' import {retry} from './utils/retry' +import {IDesiredResults, checkResults} from './checkResults' +import {grafanaScreenshot, postComment} from './grafanaScreenshot' +import {createHash} from 'crypto' const isPullRequest = !!github.context.payload.pull_request @@ -157,14 +160,85 @@ async function main(): Promise { ]) core.debug('run results: ' + JSON.stringify(runResult)) - if (runResult.filter(r => r.status === 'fulfilled').length === 0) { + if ( + runResult + .slice(0, workloads.length) + .filter(r => r.status === 'fulfilled').length === 0 + ) { + core.info('No successfull workload runs!') + throw new Error('No workloads runs completed successfully') } else { - await Promise.allSettled([ - // core.info('Check results') - // // - // core.info('Grafana screenshot') - // // - ]) + // TODO: somehow use objectives as input + const objectives: IDesiredResults = { + success_rate: [{filter: {}, value: ['>', 0.98]}], + max_99_latency: [ + {filter: {status: 'ok'}, value: ['<', 100]}, + {filter: {status: 'err'}, value: ['<', 30000]} + ], + fail_interval: [{filter: {}, value: ['<', 20]}] + } + let promises: Promise[] = [] + + runResult.map((r, i) => { + if (r.status === 'fulfilled' && i !== runResult.length - 1) { + const timings = ( + r as PromiseFulfilledResult<{ + startTime: Date + endTime: Date + }> + ).value + promises.push( + checkResults( + octokit, + workloads[i].id, + timings.startTime, + timings.endTime, + objectives + ) + ) + + core.debug('isPullRequest=' + isPullRequest) + if (isPullRequest) { + core.debug( + 'Push to promises grafana screenshot and postComment' + ) + promises.push( + (async () => { + const pictureUri = await grafanaScreenshot( + s3Endpoint, + s3Folder, + workloads[i].id, + timings.startTime, + timings.endTime + ) + const comment = ` + :volcano: Here are results of SLO test for **${ + workloads[i].name ?? workloads[i].id + }**: + + [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()}) + + ![SLO-${workloads[i].id}](${pictureUri})` + + await postComment( + octokit, + createHash('sha1') + .update('nodejs-1') + .digest() + .readUint32BE(), + comment + ) + })() + ) + } + } + }) + + const res = await Promise.allSettled(promises) + + core.info( + 'checkResults and grafana screenshot result: ' + JSON.stringify(res) + ) } } } From 7d2912d146dde869095a3ddcdf30b0feb0d72dc1 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:52:28 +0300 Subject: [PATCH 34/77] feat: add mutext re-check after obtaining --- src/mutex.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/mutex.ts b/src/mutex.ts index e7a68592..ea5d492b 100644 --- a/src/mutex.ts +++ b/src/mutex.ts @@ -1,10 +1,10 @@ import * as core from '@actions/core' -import {callKubernetes, callKubernetesPath} from './callExecutables' +import {call, callKubernetes, callKubernetesPath} from './callExecutables' import {logGroup} from './utils/groupDecorator' import {withTimeout} from './utils/withTimeout' /** Is mutex busy (configmap has field busy) */ -function isBusy(name: string): boolean { +function isBusy(name: string): false | string { core.debug(`isBusy(${name})`) const res = callKubernetes(`get configmaps ${name} -ojson`) core.debug('isBusy result: ' + res) @@ -14,8 +14,9 @@ function isBusy(name: string): boolean { if (configmap?.data?.busy !== undefined) { core.info(`Mutex locked by ${configmap?.data?.lockedBy}`) + return configmap?.data?.lockedBy } - return configmap?.data?.busy !== undefined + return false } function setBusy(lockedBy: string) { @@ -41,9 +42,18 @@ export function obtainMutex( return logGroup('Obtain mutex', async () => { return withTimeout(timeout, checkPeriod, 'Obtain mutex', () => { const busy = isBusy('slo-mutex') - if (!busy) { + if (typeof busy === 'boolean' && !busy) { + core.debug('Set mutex') setBusy(workloadId) core.info('Mutex obtained') + core.debug('Mutex sleep 5s') + call('sleep 5') + core.debug('Re-check after sleep') + const mutexObtainedBy = isBusy('slo-mutex') + if (mutexObtainedBy !== workloadId) { + core.info('Mutex is not obtained!') + return false + } return true } return false From 9f93718e7c9d13ae00abe472a7b46344a41ad08c Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 16:53:50 +0300 Subject: [PATCH 35/77] feat: update package --- package-lock.json | 156 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 3 +- 2 files changed, 157 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index de7f12fc..cdad063b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", - "@actions/github": "^5.1.1" + "@actions/github": "^5.1.1", + "@octokit/rest": "^19.0.11" }, "devDependencies": { "@types/node": "^18.16.3", @@ -1293,6 +1294,14 @@ "@octokit/core": ">=2" } }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "peerDependencies": { + "@octokit/core": ">=3" + } + }, "node_modules/@octokit/plugin-rest-endpoint-methods": { "version": "5.16.2", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", @@ -1328,6 +1337,151 @@ "once": "^1.4.0" } }, + "node_modules/@octokit/rest": { + "version": "19.0.11", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", + "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", + "dependencies": { + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.2", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.1.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/auth-token": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", + "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", + "dependencies": { + "@octokit/types": "^9.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/core": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz", + "integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/endpoint": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", + "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/openapi-types": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.2.0.tgz", + "integrity": "sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ==" + }, + "node_modules/@octokit/rest/node_modules/@octokit/plugin-paginate-rest": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", + "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", + "dependencies": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.1.2.tgz", + "integrity": "sha512-R0oJ7j6f/AdqPLtB9qRXLO+wjI9pctUn8Ka8UGfGaFCcCv3Otx14CshQ89K4E88pmyYZS8p0rNTiprML/81jig==", + "dependencies": { + "@octokit/types": "^9.2.3", + "deprecation": "^2.3.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/request": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz", + "integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest/node_modules/@octokit/types": { + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.3.tgz", + "integrity": "sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA==", + "dependencies": { + "@octokit/openapi-types": "^17.2.0" + } + }, + "node_modules/@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==" + }, "node_modules/@octokit/types": { "version": "6.41.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", diff --git a/package.json b/package.json index 92c05d7f..0bea45f9 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", - "@actions/github": "^5.1.1" + "@actions/github": "^5.1.1", + "@octokit/rest": "^19.0.11" }, "devDependencies": { "@types/node": "^18.16.3", From e7b6b182a884b927ba1b4240281750c0858d1291 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 18:25:34 +0300 Subject: [PATCH 36/77] feat: update action.yml and arguments --- action.yml | 50 +++++++++++++++++++++++++++++++++++++------ src/main.ts | 3 ++- src/parseArguments.ts | 12 +++++------ 3 files changed, 52 insertions(+), 13 deletions(-) diff --git a/action.yml b/action.yml index 345e2f4c..0c607e75 100644 --- a/action.yml +++ b/action.yml @@ -1,11 +1,49 @@ -name: 'Your name here' -description: 'Provide a description here' -author: 'Your name or organization here' +name: 'SLO test over YDB' +description: 'YDB SLO test for SDKs. Uses kubernetes cluster to run tests over. Creates possible errors in cluster to check how SDK handles them.' inputs: - milliseconds: # change this + KUBECONFIG_B64: + description: '.kube/config base64' + required: true + AWS_CREDENTIALS_B64: + description: '.aws/credentials base64' + required: true + AWS_CONFIG_B64: + description: '.aws/config base64' + required: true + DOCKER_USERNAME: + description: 'Docker username' + required: true + DOCKER_PASSWORD: + description: 'Docker password' + required: true + DOCKER_REPO: + description: 'Docker repository' + required: true + DOCKER_FOLDER: + description: 'Docker folder' + required: true + s3_endpoint: + description: 'AWS S3-compatible service endpoint' + required: true + s3_images_folder: + description: 'S3 folder' + required: true + grafana_domain: + description: 'Grafana service domain' + required: true + grafana_dashboard: + description: 'Grafana service dashboard' + required: true + ydb_version: + description: 'YDB version to run SLO over: use docker tag or `newest`' + required: true + timeBetweenPhases: + description: 'Time between errors phases of SLO test' + required: true + shutdownTime: + description: 'SLO workload shutdown timeout' required: true - description: 'input description here' - default: 'default value if applicable' runs: using: 'node16' main: 'dist/index.js' + post: 'dist/index.js' diff --git a/src/main.ts b/src/main.ts index 4336ab02..f20291b0 100644 --- a/src/main.ts +++ b/src/main.ts @@ -209,7 +209,8 @@ async function main(): Promise { s3Folder, workloads[i].id, timings.startTime, - timings.endTime + timings.endTime, + grafanaDashboard ) const comment = ` :volcano: Here are results of SLO test for **${ diff --git a/src/parseArguments.ts b/src/parseArguments.ts index 02749769..44141782 100644 --- a/src/parseArguments.ts +++ b/src/parseArguments.ts @@ -37,12 +37,12 @@ export function parseArguments() { const dockerFolder = core.getInput('DOCKER_FOLDER') const dockerUsername = core.getInput('DOCKER_USERNAME') const dockerPassword = core.getInput('DOCKER_PASSWORD') - const awsCredentials = core.getInput('AWS_CREDENTIALS') - const awsConfig = core.getInput('AWS_CONFIG') - const s3Endpoint = core.getInput('S3_ENDPOINT') - const s3Folder = core.getInput('S3_IMAGES_FOLDER') - const grafanaDomain = core.getInput('GRAFANA_DOMAIN') - const grafanaDashboard = core.getInput('GRAFANA_DASHBOARD') + const awsCredentials = core.getInput('AWS_CREDENTIALS_B64') + const awsConfig = core.getInput('AWS_CONFIG_B64') + const s3Endpoint = core.getInput('s3_endpoint') + const s3Folder = core.getInput('s3_images_folder') + const grafanaDomain = core.getInput('grafana_domain') + const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k' let ydbVersion = core.getInput('ydb_version') From 0b82a77889f169dfd6ef087a2fdbed0e9687a20f Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 18:29:21 +0300 Subject: [PATCH 37/77] chore: release 1.0.0 --- .github/actions/cluster/action.yml | 68 - .github/actions/grafana-annotate/action.yml | 49 - .github/actions/grafana-screenshot/action.yml | 71 - .github/actions/mutex/action.yml | 58 - .github/actions/workload/action.yml | 98 - .github/workflows/build-workload.yml | 66 - .github/workflows/check-prometheus.yml | 211 - .github/workflows/run-slo.yml | 164 - .github/workflows/slo.yml | 179 - dist/index.js | 11347 ++++++++++++++++ dist/index.js.map | 1 + dist/licenses.txt | 635 + dist/sourcemap-register.js | 1 + 13 files changed, 11984 insertions(+), 964 deletions(-) delete mode 100644 .github/actions/cluster/action.yml delete mode 100644 .github/actions/grafana-annotate/action.yml delete mode 100644 .github/actions/grafana-screenshot/action.yml delete mode 100644 .github/actions/mutex/action.yml delete mode 100644 .github/actions/workload/action.yml delete mode 100644 .github/workflows/build-workload.yml delete mode 100644 .github/workflows/check-prometheus.yml delete mode 100644 .github/workflows/run-slo.yml delete mode 100644 .github/workflows/slo.yml create mode 100644 dist/index.js create mode 100644 dist/index.js.map create mode 100644 dist/licenses.txt create mode 100644 dist/sourcemap-register.js diff --git a/.github/actions/cluster/action.yml b/.github/actions/cluster/action.yml deleted file mode 100644 index 1a34d4da..00000000 --- a/.github/actions/cluster/action.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: "Change cluster" -description: "Create or delete YDB cluster in kubernetes" -author: "Ilya Shevchenko " - -inputs: - KUBE_CONFIG: - description: "base64 kube config" - required: true - command: - description: "Workload command" - required: true - subfolder: - description: "Subfolder to clone repo into" - required: true - -runs: - using: "composite" - steps: - - uses: actions/checkout@v3 - with: - repository: "ydb-platform/slo-tests" - path: "${{ inputs.subfolder }}" - - - run: mkdir $HOME/.kube; echo "${{ inputs.KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - shell: bash - - - name: Get existing pods and PVC - run: kubectl get pods; kubectl get pvc - shell: bash - - - name: Create storage nodes - if: inputs.command == 'apply' - run: kubectl apply -f ${{ inputs.subfolder }}/k8s/ci/storage.yaml - shell: bash - - - name: Create database nodes - if: inputs.command == 'apply' - run: kubectl apply -f ${{ inputs.subfolder }}/k8s/ci/database.yaml - shell: bash - - - if: inputs.command == 'apply' - name: Wait until storage nodes become ready - run: kubectl wait --timeout 7m --for=jsonpath="{.status.state}"="Ready" storages.ydb.tech storage-sample - shell: bash - - - if: inputs.command == 'apply' - name: Wait until database nodes become ready - run: kubectl wait --timeout 7m --for=jsonpath="{.status.state}"="Ready" database.ydb.tech database-sample - shell: bash - - - name: Delete database nodes - if: inputs.command == 'delete' - run: kubectl delete -f ${{ inputs.subfolder }}/k8s/ci/database.yaml - shell: bash - - - name: Delete storage nodes - if: inputs.command == 'delete' - run: kubectl delete -f ${{ inputs.subfolder }}/k8s/ci/storage.yaml - shell: bash - - - name: Delete PVC - if: inputs.command == 'delete' - run: kubectl delete pvc `kubectl get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage` - shell: bash - - - name: Get pods and PVC - run: kubectl get pods; kubectl get pvc - shell: bash diff --git a/.github/actions/grafana-annotate/action.yml b/.github/actions/grafana-annotate/action.yml deleted file mode 100644 index 505cdb0d..00000000 --- a/.github/actions/grafana-annotate/action.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: "Github Action for annotating in grafana" -author: "Ilya Shevchenko " -branding: - icon: "edit-3" - color: "blue" -inputs: - dashboard: - description: "Dashboard UID" - required: false - default: "7CzMl5t4k" - text: - description: "Text to set" - required: true - tags: - description: "Tags to set to annotation" - default: "[]" - required: false - annotations-url: - description: "Grafana annotation URL" - required: false - default: http://localhost:3000/api/annotations -runs: - using: "composite" - steps: - - name: Sanitize tags - shell: bash - run: echo TAGS='${{ inputs.tags }}' >> $GITHUB_ENV - - - name: Echo command - shell: bash - run: > - echo kubectl exec -it - `kubectl get pods -l "app.kubernetes.io/name=grafana" -o jsonpath="{.items[0].metadata.name}"` - --container grafana -- /bin/bash -c " - echo '{\"dashboardUID\":\"${{ inputs.dashboard }}\", \"text\":\"${{ inputs.text }}\", \"tags\":${TAGS}}'; - wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' - --post-data '{\"dashboardUID\":\"${{ inputs.dashboard }}\", \"text\":\"${{ inputs.text }}\", \"tags\":${TAGS}}' - '${{ inputs.annotations-url }}' " - - - name: Push annotation - shell: bash - run: > - kubectl exec -it - `kubectl get pods -l "app.kubernetes.io/name=grafana" -o jsonpath="{.items[0].metadata.name}"` - --container grafana -- /bin/bash -c " - echo '{\"dashboardUID\":\"${{ inputs.dashboard }}\", \"text\":\"${{ inputs.text }}\", \"tags\":${TAGS}}'; - wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' - --post-data '{\"dashboardUID\":\"${{ inputs.dashboard }}\", \"text\":\"${{ inputs.text }}\", \"tags\":${TAGS}}' - '${{ inputs.annotations-url }}' " diff --git a/.github/actions/grafana-screenshot/action.yml b/.github/actions/grafana-screenshot/action.yml deleted file mode 100644 index 98beeff3..00000000 --- a/.github/actions/grafana-screenshot/action.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: "Take screenshot in grafana" -description: "Take grafana screenshot from inside of k8s cluster and save it into comment to pull request" -author: "Ilya Shevchenko " -inputs: - dashboard: - description: "Dashboard UID" - default: "7CzMl5t4k" - width: - description: "Image width" - default: "1500" - height: - description: "Image height" - default: "1100" - time_from: - description: "Capture graph from this time" - required: true - time_to: - description: "Capture graph to this time" - required: true - grafana-host: - description: "Grafana host" - default: "http://grafana" - AWS_CREDENTIALS: - description: "AWS credentials ($HOME/.aws/credentials) in base64" - required: true - AWS_CONFIG: - description: "AWS config ($HOME/.aws/config) in base64" - required: true - s3-endpoint: - description: "AWS s3 --endpoint-url param" - required: true - image-folder: - description: "AWS s3 folder" - default: "ydb-slo-results/" - image-prefix: - description: "Image filename prefix, e.g. '-`date -Iseconds`.png;'" - required: true - -outputs: - picture-url: - description: "Uploaded picture url" - value: ${{ steps.upload.outputs.url }} - -runs: - using: "composite" - steps: - - name: Configure AWS Credentials - shell: bash - run: | - mkdir $HOME/.aws - echo "${{ inputs.AWS_CREDENTIALS }}" | base64 -d > $HOME/.aws/credentials - echo "${{ inputs.AWS_CONFIG }}" | base64 -d > $HOME/.aws/config - - - name: Get dashboard picture from grafana - shell: bash - run: > - kubectl run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c " - wget -q -O- '${{ inputs.grafana-host }}/render/d/${{ inputs.dashboard }}/slo?orgId=1&from=${{ inputs.time_from }}&to=${{ inputs.time_to }}&width=${{ inputs.width }}&height=${{ inputs.height }}&tz=Europe%2FIstanbul&kiosk=tv' - | base64" > pic.b64; - - - name: Create picture from base64 - shell: bash - run: cat pic.b64 | base64 --decode > pic.png - - - name: Upload image to the bucket - id: upload - shell: bash - run: | - export PICTURE_NAME=${{ inputs.image-prefix }}-`date -Iseconds`.png; - aws s3 --endpoint-url=${{ inputs.s3-endpoint }} cp ./pic.png "s3://${{ inputs.image-folder }}${PICTURE_NAME}"; - echo "url=${{ inputs.s3-endpoint }}/${{ inputs.image-folder }}${PICTURE_NAME}" >> $GITHUB_OUTPUT diff --git a/.github/actions/mutex/action.yml b/.github/actions/mutex/action.yml deleted file mode 100644 index 7c4d3c82..00000000 --- a/.github/actions/mutex/action.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: "Slo mutex action" -description: "Obtain or release mutex" -author: "Ilya Shevchenko " - -inputs: - KUBE_CONFIG: - description: "base64 kube config" - required: true - language_id: - description: "Language variant to obtain mutex by" - required: true - command: - description: "`obtain` or `release` command" - required: true - -runs: - using: "composite" - steps: - - run: mkdir $HOME/.kube; echo "${{ inputs.KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - shell: bash - - - name: Get existing mutex configmap - run: kubectl get configmaps slo-mutex -o=yaml - shell: bash - - - name: Check if locked - if: inputs.command == 'obtain' - run: | - if test -n "`kubectl get configmaps slo-mutex -o=jsonpath={.data.busy}`"; then - echo "Locked by `kubectl get configmaps slo-mutex -o=jsonpath={.data.lockedBy}`, wait"; - fi - shell: bash - - - name: Wait until unlocked (maximum 30 minutes waiting) - if: inputs.command == 'obtain' - # check every 30s for 60 times = 30 minutes - run: | - for run in {1..60}; do - if test -z "`kubectl get configmaps slo-mutex -o=jsonpath={.data.busy}`"; then - echo "Mutex unlocked!"; break; - elif test $run == 60; then - echo "Timeout!"; exit 4; - fi; - sleep 30; - done - - kubectl create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${{ inputs.language_id }} -o=yaml --dry-run=client | kubectl apply -f - - shell: bash - - - name: Unlock mutex - if: inputs.command == 'release' - run: > - kubectl create configmap slo-mutex -o=yaml --dry-run=client | kubectl apply -f - - shell: bash - - - name: Get mutex configmap - run: kubectl get configmaps slo-mutex -o=yaml - shell: bash diff --git a/.github/actions/workload/action.yml b/.github/actions/workload/action.yml deleted file mode 100644 index e7503d2e..00000000 --- a/.github/actions/workload/action.yml +++ /dev/null @@ -1,98 +0,0 @@ -name: "Github Action for workload actions" -author: "Ilya Shevchenko " - -inputs: - language_id: - description: "SDK language or language+variant" - required: true - type: string - command: - description: "Workload command" - required: true - type: string - additionalArgs: - description: "Workload additional args" - default: "" - required: false - type: string - timeout: - description: "Timeout to wait until job will be done" - default: "5m" - required: false - type: string - DOCKER_REPO: - description: "Workload docker repo" - required: true - type: string - DOCKER_FOLDER: - description: "Workload docker folder" - required: true - type: string - -runs: - using: "composite" - steps: - - name: Create args string - shell: bash - id: args-string - run: | - ARGS=$(cat << EOF - `echo "${{ inputs.additionalArgs }}" | sed "s/ /\"\\n - \"/g"` - EOF - ) - echo "ARGS=${ARGS}" - echo "args<> $GITHUB_OUTPUT - echo "$ARGS" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Create ${{ inputs.language_id }} test run yaml - shell: bash - run: | - cat > ${{ inputs.language_id }}-wl-${{ inputs.command }}.yaml < - kubectl wait --for=jsonpath="{.status['failed','complete','succeeded']}"=1 - --timeout ${{ inputs.timeout }} job/${{ inputs.language_id }}-wl-${{ inputs.command }}; - - - name: Check status of workload - shell: bash - run: > - if test -n "`kubectl get job/${{ inputs.language_id }}-wl-${{ inputs.command }} -o=jsonpath={.status.failed}`"; then - echo 'Failed'; exit 3; - fi - - - name: Get logs - if: success() || failure() - shell: bash - run: kubectl logs job/${{ inputs.language_id }}-wl-${{ inputs.command }} diff --git a/.github/workflows/build-workload.yml b/.github/workflows/build-workload.yml deleted file mode 100644 index 88a457ba..00000000 --- a/.github/workflows/build-workload.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: Build SDK workload flow - -on: - workflow_call: - inputs: - language_id: - description: "SDK language or language+variant" - required: true - type: string - build_timeout: - description: "Timeout to build image" - default: "3m" - required: false - type: string - workload_path: - description: "Workload folder to build docker image from" - required: true - type: string - context: - description: "Path to docker build context - cwd is workload_path" - default: "." - type: string - options: - description: "String with additional options, such as --build-arg and others from https://docs.docker.com/engine/reference/commandline/build/#options" - default: "" - type: string - - secrets: - DOCKER_REPO: - required: true - DOCKER_FOLDER: - required: true - DOCKER_USERNAME: - required: true - DOCKER_PASSWORD: - required: true - -jobs: - build-workload-image: - name: build-${{ inputs.language_id }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Login into docker - run: > - docker --version; - echo "${{ secrets.DOCKER_PASSWORD }}" | base64 -d | - docker login ${{ secrets.DOCKER_REPO }} - -u ${{ secrets.DOCKER_USERNAME }} - --password-stdin - - - name: Build ${{ inputs.language_id }} image - working-directory: ${{ inputs.workload_path }} - run: > - docker build - -t ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_FOLDER }}/${{ inputs.language_id }}:latest - -t ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_FOLDER }}/${{ inputs.language_id }}:gh-${{ github.sha }} - ${{ inputs.options }} - ${{ inputs.context }} - - - name: Push image with all tags - run: > - docker image push ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_FOLDER }}/${{ inputs.language_id }}:latest; - docker image push ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_FOLDER }}/${{ inputs.language_id }}:gh-${{ github.sha }} diff --git a/.github/workflows/check-prometheus.yml b/.github/workflows/check-prometheus.yml deleted file mode 100644 index 66ad73cb..00000000 --- a/.github/workflows/check-prometheus.yml +++ /dev/null @@ -1,211 +0,0 @@ -name: Check prometheus metrics workflow - -on: - workflow_call: - inputs: - test_start: - description: "Test start timestamp" - required: true - type: string - test_end: - description: "Test end timestamp" - required: true - type: string - test_start_iso: - description: "Test start in ISO format" - required: true - type: string - test_end_iso: - description: "Test end in ISO format" - required: true - type: string - language_id: - description: "Language id" - required: true - type: string - subfolder: - required: false - default: "check-prometheus" - type: string - secrets: - KUBE_CONFIG: - required: true - -jobs: - get-metrics: - runs-on: ubuntu-latest - permissions: - pull-requests: read - contents: read - outputs: - checks_matrix: ${{ steps.checker.outputs.checks_matrix }} - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - repository: "ydb-platform/slo-tests" - path: "${{ inputs.subfolder }}" - - - run: mkdir $HOME/.kube; echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - - - run: 'echo "start: ${{ inputs.test_start }}; end:${{ inputs.test_end }}"' - - # queries in grafana: - # max_99_latency: max_over_time(latency{quantile="0.99"}[$__range]) - # success_rate: max_over_time(not_oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range])) - # fail_interval: sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s]) - - name: Get query result from grafana - shell: bash - run: > - kubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c ' - wget -q -O- --header='\''content-type: application/json'\'' - --post-data='\''{ - "queries": [ - { - "refId": "success_rate", - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "expr": "max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0", - "legendFormat": "__auto", - "range": false, - "instant": true, - "interval": "1s", - "key": "Q-23633ba7-91cd-4dae-bda9-0534c737bacf-0", - "exemplar": false, - "hide": false, - "queryType": "timeSeriesQuery", - "requestId": "Q-23633ba7-91cd-4dae-bda9-0534c737bacf-0Q-5b00819a-64cf-4684-8067-4caef59d2641-1Q-1e3c314b-70a4-44a4-8927-0be5c932483f-3success_rate", - "utcOffsetSec": 14400, - "datasourceId": 1, - "intervalMs": 5000, - "maxDataPoints": 1514 - }, - { - "refId": "max_99_latency", - "key": "Q-5b00819a-64cf-4684-8067-4caef59d2641-1", - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "expr": "max_over_time(latency{quantile=\"0.99\"}[$__range])>0", - "legendFormat": "__auto", - "range": false, - "instant": true, - "exemplar": false, - "hide": false, - "queryType": "timeSeriesQuery", - "requestId": "Q-23633ba7-91cd-4dae-bda9-0534c737bacf-0Q-5b00819a-64cf-4684-8067-4caef59d2641-1Q-1e3c314b-70a4-44a4-8927-0be5c932483f-3max_99_latency", - "utcOffsetSec": 14400, - "interval": "", - "datasourceId": 1, - "intervalMs": 5000, - "maxDataPoints": 1514 - }, - { - "refId": "fail_interval", - "key": "Q-1e3c314b-70a4-44a4-8927-0be5c932483f-3", - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "expr": "sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0", - "legendFormat": "__auto", - "range": false, - "instant": true, - "interval": "1s", - "hide": false, - "exemplar": false, - "format": "time_series", - "queryType": "timeSeriesQuery", - "requestId": "Q-23633ba7-91cd-4dae-bda9-0534c737bacf-0Q-5b00819a-64cf-4684-8067-4caef59d2641-1Q-1e3c314b-70a4-44a4-8927-0be5c932483f-3fail_interval", - "utcOffsetSec": 14400, - "datasourceId": 1, - "intervalMs": 5000, - "maxDataPoints": 1514 - } - ], - "range": { - "from": "${{ inputs.test_start_iso }}", - "to": "${{ inputs.test_end_iso }}", - "raw": { - "from": "${{ inputs.test_start_iso }}", - "to": "${{ inputs.test_end_iso }}" - } - }, - "from": "${{ inputs.test_start }}", - "to": "${{ inputs.test_end }}" - }'\'' - '\''http://grafana/api/ds/query'\'' - | base64' > query_result.b64; - - - name: Print result - shell: bash - run: cat query_result.b64 - - - name: Create json from base64 - shell: bash - run: cat query_result.b64 | base64 --decode > query_result.json - - - name: Run grafana output parser - shell: bash - run: node ${{ inputs.subfolder }}/scripts/parseGrafanaOutput.js query_result.json ./parsed.json - - - name: Check out parsed.json - shell: bash - run: cat ./parsed.json - - - name: Run grafana output checker - id: checker - shell: bash - run: node ${{ inputs.subfolder }}/scripts/checkGrafanaValues.js parsed.json ${{ inputs.subfolder }}/scripts/objectives.json - - - name: Check out checks_results - shell: bash - run: ls checks_results - - - name: Check out checks_matrix - shell: bash - run: echo "${{ steps.checker.outputs.checks_matrix }}" - - - uses: actions/upload-artifact@v3 - with: - name: checks_results - path: checks_results/ - - set-checks-status: - runs-on: ubuntu-latest - needs: [get-metrics] - - strategy: - matrix: - value: ${{ fromJson(needs.get-metrics.outputs.checks_matrix) }} - - permissions: - checks: write - pull-requests: read - # contents: read - - steps: - - name: load artifacts - uses: actions/download-artifact@v3 - with: - name: checks_results - path: checks_results/ - - - run: | - cat checks_results/${{ matrix.value }}_output; - echo "check_name=`cat checks_results/${{ matrix.value }}_name`" >> $GITHUB_OUTPUT - echo "check_output=`cat checks_results/${{ matrix.value }}_output`" >> $GITHUB_OUTPUT - echo "check_conclusion=`cat checks_results/${{ matrix.value }}_conclusion`" >> $GITHUB_OUTPUT - id: get_result - - - run: echo '${{ steps.get_result.outputs.check_output }}' - - run: echo '${{ steps.get_result.outputs.check_name }}' - - run: echo '${{ steps.get_result.outputs.check_conclusion }}' - - - run: if [[ ! '${{ steps.get_result.outputs.check_conclusion }}' == *'success'* ]]; then exit 1; fi diff --git a/.github/workflows/run-slo.yml b/.github/workflows/run-slo.yml deleted file mode 100644 index e11200a2..00000000 --- a/.github/workflows/run-slo.yml +++ /dev/null @@ -1,164 +0,0 @@ -name: Workload and errors sheduler concurrent workflow - -on: - workflow_call: - inputs: - language_id: - description: "SDK language or language+variant" - required: true - type: string - time_between_phases: - description: "Time to wait between phases (sleep command)" - default: "20s" - type: string - secrets: - KUBE_CONFIG: - required: true - DOCKER_REPO: - required: true - DOCKER_FOLDER: - required: true - outputs: - test_start: - description: "Test start timestamp" - value: ${{ jobs.run-workload.outputs.start_time }} - test_end: - description: "Test end timestamp" - value: ${{ jobs.run-workload.outputs.end_time }} - test_start_iso: - description: "Test start timestamp" - value: ${{ jobs.run-workload.outputs.start_time_iso }} - test_end_iso: - description: "Test end timestamp" - value: ${{ jobs.run-workload.outputs.end_time_iso }} - -concurrency: - group: ${{ github.ref }}-${{ inputs.language_id }}-test - -jobs: - run-workload: - runs-on: ubuntu-latest - outputs: - start_time: ${{ steps.start.outputs.time }} - start_time_iso: ${{ steps.start_iso.outputs.time }} - end_time: ${{ steps.end.outputs.time }} - end_time_iso: ${{ steps.end_iso.outputs.time }} - steps: - - name: Save start time - id: start - run: echo "time=`node -e 'console.log(new Date().valueOf())'`" >> $GITHUB_OUTPUT - - - name: Save start ISO time - id: start_iso - run: echo "time=`node -e 'console.log(new Date())'`" >> $GITHUB_OUTPUT - - - name: Checkout - uses: actions/checkout@v3 - # need this owing to local action usage - - - run: mkdir $HOME/.kube; echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - - - name: Run workload - uses: ydb-platform/slo-tests/.github/actions/workload@main - with: - language_id: ${{ inputs.language_id }} - command: "run" - timeout: "5m" - DOCKER_REPO: "${{ secrets.DOCKER_REPO }}" - DOCKER_FOLDER: "${{ secrets.DOCKER_FOLDER }}" - additionalArgs: > - --time 180 - --shutdown-time 20 - --read-rps 1000 - --write-rps 100 - --prom-pgw http://prometheus-pushgateway:9091 - - - name: Save end time - id: end - run: echo "time=`node -e 'console.log(new Date().valueOf())'`" >> $GITHUB_OUTPUT - - - name: Save end ISO time - id: end_iso - run: echo "time=`node -e 'console.log(new Date())'`" >> $GITHUB_OUTPUT - - # ~ 6 * (20s+3s) =Âą 140s - run-errors-scheduler: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - # need this owing to local action usage - - - run: mkdir $HOME/.kube; echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - - - name: Get existing pods - run: kubectl get pods - - - run: sleep ${{ inputs.time_between_phases }} - - - name: Get DB host's internal IP - run: | - export MARTYR_IP=`kubectl get pods database-sample-0 -o=jsonpath='{.status.podIP}'` - echo "MARTYR_IP=$MARTYR_IP" >> $GITHUB_ENV - - - name: Show DB host's internal IP and grafana pod name - run: echo ${MARTYR_IP} ${GRAFANA_POD} - - - name: Annotate freeze in grafana - uses: ydb-platform/slo-tests/.github/actions/grafana-annotate@main - with: - text: "Freeze tablet" - tags: '["freeze", "tablet"]' - - - name: Freeze tablet - run: > - kubectl run -it --image=busybox --rm tablet-freezer --restart=Never -- sh -c "wget -q -O- - '${MARTYR_IP}:8765/tablets/app?TabletID=72057594037968897&node=1&page=SetFreeze&freeze=1'" - - - run: sleep ${{ inputs.time_between_phases }} - - - name: Annotate unfreeze in grafana - uses: ydb-platform/slo-tests/.github/actions/grafana-annotate@main - with: - text: "Unfreeze tablet" - tags: '["unfreeze", "tablet"]' - - - name: Unfreeze tablet - run: > - kubectl run -it --image=busybox --rm tablet-freezer --restart=Never -- sh -c "wget -q -O- - '${MARTYR_IP}:8765/tablets/app?TabletID=72057594037968897&node=1&page=SetFreeze&freeze=0'" - - - run: sleep ${{ inputs.time_between_phases }} - - - name: Annotate deletion of the database pod in grafana - uses: ydb-platform/slo-tests/.github/actions/grafana-annotate@main - with: - text: "Delete database pod" - tags: '["kube", "pod", "kubectl-delete"]' - - - name: Delete database pod (it will automatically restart) - run: kubectl delete pod database-sample-1 - - - run: sleep ${{ inputs.time_between_phases }} - - - name: Annotate hard shutdown of the database pod in grafana - uses: ydb-platform/slo-tests/.github/actions/grafana-annotate@main - with: - text: "Hard shutdown database pod" - tags: '["kube", "pod", "kubectl-delete-force"]' - - - name: Hard shutdown database pod (it will automatically restart) - run: kubectl delete pod database-sample-1 --force=true --grace-period=0 - - - run: sleep ${{ inputs.time_between_phases }} - - - name: Annotate kill of the database pod from inside in grafana - uses: ydb-platform/slo-tests/.github/actions/grafana-annotate@main - with: - text: "Kill pod from inside" - tags: '["kube", "pod", "kubectl-kill"]' - - - name: Kill pod from inside - run: kubectl exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"; - - - run: sleep ${{ inputs.time_between_phases }} diff --git a/.github/workflows/slo.yml b/.github/workflows/slo.yml deleted file mode 100644 index b5ceb504..00000000 --- a/.github/workflows/slo.yml +++ /dev/null @@ -1,179 +0,0 @@ -name: Full SLO test workflow - -on: - workflow_call: - inputs: - language_id: - description: "SDK language or language+variant for kuberetes, prometheus metrics, PR comments" - required: true - type: string - language: - description: "SDK name for PR comments" - default: "" - type: string - workload_path: - description: "Workload folder to build docker image from" - required: true - type: string - workload_build_context: - description: "Path to docker build context - cwd is workload_path" - default: "." - type: string - workload_build_options: - description: "String with additional options, such as --build-arg and others from https://docs.docker.com/engine/reference/commandline/build/#options" - default: "" - type: string - secrets: - SLO_KUBE_CONFIG: - required: true - SLO_DOCKER_REPO: - required: true - SLO_DOCKER_FOLDER: - required: true - SLO_DOCKER_USERNAME: - required: true - SLO_DOCKER_PASSWORD: - required: true - SLO_AWS_CREDENTIALS: - required: true - SLO_AWS_CONFIG: - required: true - SLO_S3_ENDPOINT: - required: true - -concurrency: slo - -jobs: - obtain-mutex: - runs-on: ubuntu-latest - steps: - - name: obtain-mutex - uses: ydb-platform/slo-tests/.github/actions/mutex@main - with: - KUBE_CONFIG: ${{ secrets.SLO_KUBE_CONFIG }} - command: obtain - language_id: "${{ inputs.language_id }}" - - create-cluster: - needs: [obtain-mutex] - runs-on: ubuntu-latest - steps: - - name: create-cluster - uses: ydb-platform/slo-tests/.github/actions/cluster@main - with: - subfolder: cluster_create_action - KUBE_CONFIG: ${{ secrets.SLO_KUBE_CONFIG }} - command: apply - - build-workload: - needs: [obtain-mutex] - uses: ./.github/workflows/build-workload.yml - secrets: - DOCKER_REPO: ${{ secrets.SLO_DOCKER_REPO }} - DOCKER_FOLDER: ${{ secrets.SLO_DOCKER_FOLDER }} - DOCKER_USERNAME: ${{ secrets.SLO_DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.SLO_DOCKER_PASSWORD }} - with: - language_id: ${{ inputs.language_id }} - workload_path: ${{ inputs.workload_path }} - context: ${{ inputs.workload_build_context }} - options: ${{ inputs.workload_build_options }} - - create-tables: - needs: [create-cluster, build-workload] - runs-on: ubuntu-latest - steps: - - run: mkdir $HOME/.kube; echo "${{ secrets.SLO_KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - - - name: Initialize tables using workload image - uses: ydb-platform/slo-tests/.github/actions/workload@main - with: - language_id: "${{ inputs.language_id }}" - command: "create" - timeout: "40s" - DOCKER_REPO: "${{ secrets.SLO_DOCKER_REPO }}" - DOCKER_FOLDER: "${{ secrets.SLO_DOCKER_FOLDER }}" - additionalArgs: > - --min-partitions-count 6 - --max-partitions-count 1000 - --partition-size 1 - --initial-data-count 1000 - - run-workload: - needs: [create-cluster, create-tables, build-workload] - uses: ./.github/workflows/run-slo.yml - secrets: - KUBE_CONFIG: ${{ secrets.SLO_KUBE_CONFIG }} - DOCKER_REPO: "${{ secrets.SLO_DOCKER_REPO }}" - DOCKER_FOLDER: "${{ secrets.SLO_DOCKER_FOLDER }}" - with: - language_id: ${{ inputs.language_id }} - - check-results: - needs: [run-workload] - uses: ./.github/workflows/check-prometheus.yml - secrets: - KUBE_CONFIG: ${{ secrets.SLO_KUBE_CONFIG }} - with: - test_start: ${{ needs.run-workload.outputs.test_start }} - test_end: ${{ needs.run-workload.outputs.test_end }} - test_start_iso: ${{ needs.run-workload.outputs.test_start_iso }} - test_end_iso: ${{ needs.run-workload.outputs.test_end_iso }} - language_id: ${{ inputs.language_id }} - - grafana-screenshot: - needs: [run-workload] - if: always() && needs.create-cluster.result == 'success' - runs-on: ubuntu-latest - steps: - - run: mkdir $HOME/.kube; echo "${{ secrets.SLO_KUBE_CONFIG }}" | base64 -d > $HOME/.kube/config - - - name: Create screenshot - uses: ydb-platform/slo-tests/.github/actions/grafana-screenshot@main - id: screenshot - with: - time_from: ${{ needs.run-workload.outputs.test_start }} - time_to: ${{ needs.run-workload.outputs.test_end }} - AWS_CREDENTIALS: ${{ secrets.SLO_AWS_CREDENTIALS }} - AWS_CONFIG: ${{ secrets.SLO_AWS_CONFIG }} - s3-endpoint: ${{ secrets.SLO_S3_ENDPOINT }} - image-folder: "${{ vars.SLO_S3_IMAGES_FOLDER }}" - image-prefix: "${{ inputs.language_id }}" - - - name: Log image URL - run: echo "${{ steps.screenshot.outputs.picture-url}}" - - - name: Add comment to PR - uses: thollander/actions-comment-pull-request@v2 - with: - comment_tag: slo-image-${{ inputs.language_id }} - message: | - :volcano: Here are results of SLO test for **${{ inputs.language }}**: - - [Grafana Dashboard](${{ vars.SLO_GRAFANA_DOMAIN }}/d/${{ vars.SLO_GRAFANA_DASHBOARD }}?orgId=1&from=${{ needs.run-workload.outputs.test_start }}&to=${{ needs.run-workload.outputs.test_end }}) - - ![SLO-${{ inputs.language_id }}](${{ steps.screenshot.outputs.picture-url}}) - - delete-cluster: - needs: [run-workload, create-cluster] - if: always() && needs.create-cluster.result == 'success' - runs-on: ubuntu-latest - steps: - - name: delete-cluster - uses: ydb-platform/slo-tests/.github/actions/cluster@main - with: - subfolder: cluster_delete_action - KUBE_CONFIG: ${{ secrets.SLO_KUBE_CONFIG }} - command: delete - - release-mutex: - needs: [delete-cluster, obtain-mutex] - if: always() && needs.obtain-mutex.result == 'success' - runs-on: ubuntu-latest - steps: - - name: release-mutex - uses: ydb-platform/slo-tests/.github/actions/mutex@main - with: - KUBE_CONFIG: ${{ secrets.SLO_KUBE_CONFIG }} - command: release - language_id: "${{ inputs.language_id }}" diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 00000000..47997039 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,11347 @@ +require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 9419: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const child_process_1 = __nccwpck_require__(2081); +const fs_1 = __nccwpck_require__(7147); +const os_1 = __nccwpck_require__(2037); +const path_1 = __importDefault(__nccwpck_require__(1017)); +const groupDecorator_1 = __nccwpck_require__(8990); +let kubectlPath = null; +let callId = 0; +function prepareK8S(base64kubeconfig) { + return (0, groupDecorator_1.logGroup)('Prepare k8s', () => { + // create ~/.kube folder + const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube'); + core.info(`mkdir ${kubePath}`); + try { + (0, fs_1.mkdirSync)(kubePath); + } + catch (error) { + core.debug('error' + JSON.stringify(error)); + if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') { + core.debug(kubePath + ' EEXIST'); + } + else + throw error; + } + // add kubeconfig + if (base64kubeconfig.length > 0) { + core.debug('Get kubeconfig string'); + const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8'); + core.info(`Write kubeconfig to ~/.kube/config`); + (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig); + } + kubectlPath = call('which kubectl').split('\n')[0]; + core.info(`kubectl path: ${kubectlPath}`); + }); +} +exports.prepareK8S = prepareK8S; +function prepareAWS(awsCredentialsB64, awsConfigB64) { + // create ~/.aws folder + const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws'); + core.info(`mkdir ${kubePath}`); + try { + (0, fs_1.mkdirSync)(kubePath); + } + catch (error) { + core.debug('error' + JSON.stringify(error)); + if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') { + core.debug(kubePath + ' EEXIST'); + } + else + throw error; + } + // add awsCredentials + if (awsCredentialsB64.length > 0) { + core.debug('Get aws credentials string'); + const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8'); + core.info(`Write awsCredentials to ~/.aws/credentials`); + (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials); + } + // add awsConfig + if (awsConfigB64.length > 0) { + core.debug('Get aws credentials string'); + const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8'); + core.info(`Write awsConfig to ~/.aws/config`); + (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig); + } +} +exports.prepareAWS = prepareAWS; +function call(command, secret = false) { + const id = ++callId; + !secret && core.info(`Call #${id} command: '${command}'`); + const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' }); + core.debug(`Call #${id} result ${spawnResult}`); + return spawnResult; +} +exports.call = call; +function callAsync(command, secret = false, cwd = '.') { + return new Promise((resolve, reject) => { + const id = ++callId; + !secret && core.info(`Call #${id} command: '${command}'`); + const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd }); + if (!proc.stdio || !proc.stdout || !proc.stderr) { + core.info(`Error in callAsync #${id}: can't spawn process`); + throw new Error(`Error in callAsync #${id}: can't spawn process`); + } + let out = '', err = ''; + proc.stdout.on('data', data => (out += data.toString())); + proc.stderr.on('data', data => (err += data.toString())); + proc.on('close', code => { + core.debug(`Call #${id} async code = ${code}`); + if (code == 0) { + core.debug(`Call #${id} async output \n${out}`); + resolve(out); + } + else { + if (secret) + core.debug(`Call #${id} async with secrets failed - on close`); + else + core.debug(`Call #${id} async failed - on close:\n${err}`); + reject(new Error(err)); + } + }); + proc.on('error', err => { + if (secret) + core.debug(`Call #${id} async with secrets failed - on error`); + else + core.debug(`Call #${id} async failed - on error:\n${err}`); + reject(err); + }); + }); +} +exports.callAsync = callAsync; +function callKubernetes(command) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first'); + return call(`${kubectlPath} ${command}`); +} +exports.callKubernetes = callKubernetes; +function callKubernetesPath(commandGenerator) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first'); + return call(commandGenerator(kubectlPath)); +} +exports.callKubernetesPath = callKubernetesPath; +function callKubernetesAsync(command) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first'); + return callAsync(`${kubectlPath} ${command}`); +} +exports.callKubernetesAsync = callKubernetesAsync; +function callKubernetesPathAsync(commandGenerator) { + if (kubectlPath === null) + throw new Error('K8s not initialized, call prepareK8S first'); + return callAsync(commandGenerator(kubectlPath)); +} +exports.callKubernetesPathAsync = callKubernetesPathAsync; + + +/***/ }), + +/***/ 843: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0; +const crypto_1 = __importDefault(__nccwpck_require__(6113)); +const core = __importStar(__nccwpck_require__(2186)); +const github = __importStar(__nccwpck_require__(5438)); +const callExecutables_1 = __nccwpck_require__(9419); +const retry_1 = __nccwpck_require__(4542); +function getUUID() { + const hexstring = crypto_1.default.randomBytes(16).toString('hex'); + return (hexstring.substring(0, 8) + + '-' + + hexstring.substring(8, 12) + + '-' + + hexstring.substring(12, 16) + + '-' + + hexstring.substring(16, 20) + + '-' + + hexstring.substring(20)); +} +exports.getUUID = getUUID; +function getDataFromGrafana(fromDate, toDate, queries) { + return __awaiter(this, void 0, void 0, function* () { + const data = { + queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, + // requestId: `Q-${getUUID()}-${i}`, + interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: { + type: 'prometheus', + uid: 'prometheus' + }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))), + range: { + from: fromDate.toISOString(), + to: toDate.toISOString(), + raw: { + from: fromDate.toISOString(), + to: toDate.toISOString() + } + }, + from: '' + fromDate.valueOf(), + to: '' + toDate.valueOf() + }; + let requestId = data.queries.reduce((acc, v) => (acc += v.key), ''); + data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q))); + let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`; + busyboxCmd = busyboxCmd.replace(/'/g, "'\\''"); + core.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`); + return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8'); + }); +} +exports.getDataFromGrafana = getDataFromGrafana; +function parseRawGraph(dataString) { + const data = JSON.parse(dataString); + core.debug('Parsed JSON graph data ' + JSON.stringify(data)); + const keys = Object.keys(data.results); + core.debug('Process graph data'); + return keys.reduce((acc, k) => { + acc[k] = data.results[k].frames.map((f) => { + var _a, _b, _c, _d, _e, _f; + return ({ + value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0], + labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels + }); + }); + return acc; + }, {}); +} +exports.parseRawGraph = parseRawGraph; +function filterGraphData(filter) { + return function filterGraphFun(result) { + return Object.entries(filter).reduce((prev, filt) => { + return prev && result.labels[filt[0]] === filt[1]; + }, true); + }; +} +exports.filterGraphData = filterGraphData; +function checkGraphValues(workloadId, realResults, desiredResults) { + // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]} + let checks = []; + for (const queryName of Object.keys(desiredResults)) { + const result = realResults[queryName]; + const desired = desiredResults[queryName]; + for (const desiredRes of desired) { + const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter); + let inspected = (result || []).filter(filterGraphData(filter)); + const checkName = `${queryName}${JSON.stringify(filter)}`; + if (inspected.length === 0) { + checks.push([ + checkName, + 'notfound', + `Not found results by filter to inspect` + ]); + } + else { + for (const [i, inspectedRes] of Object.entries(inspected)) { + const decision = desiredRes.value[0] === '>' + ? inspectedRes.value > desiredRes.value[1] + : inspectedRes.value < desiredRes.value[1]; + checks.push([ + `${checkName}[${i}]`, + decision ? 'ok' : 'error', + `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}` + ]); + } + } + } + } + return checks; +} +exports.checkGraphValues = checkGraphValues; +function checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) { + return __awaiter(this, void 0, void 0, function* () { + core.info('Check results'); + core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`); + if (!queries) + queries = [ + { + refId: 'success_rate', + expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0', + interval: '1s' + }, + { + refId: 'max_99_latency', + expr: 'max_over_time(latency{quantile="0.99"}[$__range])>0', + interval: '' + }, + { + refId: 'fail_interval', + expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0', + interval: '1s' + } + ]; + const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () { + const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries); + core.debug('graphsRaw: ' + graphsRaw); + return parseRawGraph(graphsRaw); + })); + core.debug('parsed: ' + JSON.stringify(parsed)); + const checks = checkGraphValues(workloadId, parsed, desiredResults); + for (let i = 0; i < checks.length; i++) { + const conclusion = checks[i][1] === 'error' + ? 'failure' + : checks[i][1] === 'notfound' + ? 'neutral' + : 'success'; + const checkParams = { + owner: github.context.repo.owner, + repo: github.context.repo.repo, + name: `slo_check_${checks[i][0]}`, + status: 'completed', + conclusion: conclusion, + output: { + title: `SLO results check #${0}`, + summary: checks[i][2], + text: checks[i][2] + } + }; + yield octokit.rest.checks.create(checkParams); + } + return checks.filter(ch => ch[1] == 'error').length > 0; + }); +} +exports.checkResults = checkResults; + + +/***/ }), + +/***/ 3179: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const groupDecorator_1 = __nccwpck_require__(8990); +const callExecutables_1 = __nccwpck_require__(9419); +// npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json +const manifests_json_1 = __importDefault(__nccwpck_require__(1542)); +const withTimeout_1 = __nccwpck_require__(5476); +let databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content; +let storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content; +/** + * Create cluster with selected version + * @param version YDB docker version + * @param timeout timeout in minutes + * @param checkPeriod update period in seconds + */ +function createCluster(version = '23.1.19', timeout, checkPeriod = 10) { + return __awaiter(this, void 0, void 0, function* () { + return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () { + databaseManifest = databaseManifest.replace('${{VERSION}}', version); + storageManifest = storageManifest.replace('${{VERSION}}', version); + core.debug('database manifest:\n\n' + databaseManifest); + core.debug('storage manifest:\n\n' + storageManifest); + core.info('Apply database and storage manifests'); + core.info('storage apply result:\n' + + (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () { + core.debug('check status of cluster'); + const databaseStatus = getStatus('database'); + const storageStatus = getStatus('storage'); + core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`); + if (databaseStatus !== lastDatabaseStatus) { + core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`); + lastDatabaseStatus = databaseStatus; + } + if (storageStatus !== lastStorageStatus) { + core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`); + lastStorageStatus = storageStatus; + } + if (databaseStatus === 'Ready' && storageStatus === 'Ready') + return true; + return false; + })); + })); + }); +} +exports.createCluster = createCluster; +function getYdbVersions() { + return (0, groupDecorator_1.logGroup)('Get versions', () => { + const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb'); + const versions = versionsString.split('\n').filter(s => s.length > 0); + versions.sort(); + return versions; + }); +} +exports.getYdbVersions = getYdbVersions; +function getStatus(statusOf) { + const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`); + return JSON.parse(res).state; +} +function deleteCluster() { + return (0, groupDecorator_1.logGroup)('Delete cluster', () => { + core.info('Delete database and storage manifests'); + try { + core.info('Database delete result:\n' + + (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample')); + } + catch (error) { + core.info('Error while deleting database' + JSON.stringify(error)); + } + try { + core.info('Storage delete result:\n' + + (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample')); + } + catch (error) { + core.info('Error while deleting storage' + JSON.stringify(error)); + } + try { + const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage'); + core.debug('pvcs' + pvcs); + core.info('PVC delete result:\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`)); + } + catch (error) { + core.info('Error while deleting pvcs' + JSON.stringify(error)); + } + }); +} +exports.deleteCluster = deleteCluster; + + +/***/ }), + +/***/ 8995: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.annotate = exports.errorScheduler = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const callExecutables_1 = __nccwpck_require__(9419); +let grafanaPod = null; +function errorScheduler(grafanaPodName, timeBetweenS) { + return __awaiter(this, void 0, void 0, function* () { + // get database target's IP + const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\n')[0]; + core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`); + // get grafana pod name + grafanaPod = grafanaPodName; + core.info(`Grafana pod name: ${grafanaPod}`); + // wait until workload start? + // what is workload to wait to start for? + // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => { + // const status = JSON.parse( + // await callKubernetesAsync( + // `get job/${workloadId}-wl-run -o=jsonpath={.status}` + // ) + // ) + // if(status?.phase === 'Running') return true + // return false + // }) + yield new Promise(resolve => { + setTimeout(resolve, timeBetweenS * 1000); + }); + const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` + + ` sh -c "wget -q -O- '${targetIP}:8765/tablets/app?` + + `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' "`; + // freeze + yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS); + // unfreeze + yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS); + // delete pod + yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS); + // force delete pod + yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS); + // kill from inside + yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`, timeBetweenS); + // TODO: add process sleep + }); +} +exports.errorScheduler = errorScheduler; +function createError(name, kubeCommand, timeBetweenS) { + return __awaiter(this, void 0, void 0, function* () { + return yield Promise.allSettled([ + // run command + (0, callExecutables_1.callKubernetesAsync)(kubeCommand), + // annotate + annotate(name), + // wait till next + new Promise(resolve => { + setTimeout(resolve, timeBetweenS * 1000); + }) + ]).then(v => { + if (v.filter(p => p.status === 'rejected').length > 0) + return Promise.reject('Error in YDB error creation'); + }); + }); +} +// no tags, but possible to add if needed +function annotate(text, dashboardUID = '7CzMl5t4k') { + const annotationsUrl = 'http://localhost:3000/api/annotations'; + const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`; + const data = `{\\"dashboardUID\\":\\"${dashboardUID}\\", \\"text\\":\\"${text}\\", \\"tags\\":[]}`; + return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c "${createWgetPost(annotationsUrl, data)}"`); +} +exports.annotate = annotate; + + +/***/ }), + +/***/ 8660: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getInfrastractureEndpoints = void 0; +const callExecutables_1 = __nccwpck_require__(9419); +const retry_1 = __nccwpck_require__(4542); +const withTimeout_1 = __nccwpck_require__(5476); +function getInfrastractureEndpoints() { + return __awaiter(this, void 0, void 0, function* () { + const services = [ + 'prometheus-operator', + 'prometheus', + 'prometheus-pushgateway', + 'grafana', + 'grafana-renderer', + 'ydb-operator' + ]; + return Promise.allSettled(services.map(getEndpoint)).then(res => { + const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected'); + if (servicesWithoutPods.length > 0) { + throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`); + } + return { + prometheusOperator: res[0].value, + prometheus: res[1].value, + prometheusPushgateway: res[2].value, + grafana: res[3].value, + grafanaRenderer: res[4].value, + ydbOperator: res[5].value + }; + }); + }); +} +exports.getInfrastractureEndpoints = getInfrastractureEndpoints; +function getEndpoint(kubeName) { + return (0, retry_1.retry)(2, () => { + return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${kubeName}" -o jsonpath="{.items[0].metadata.name}"`).then(s => s.split('\n')[0])); + }); +} + + +/***/ }), + +/***/ 1413: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.postComment = exports.grafanaScreenshot = void 0; +const path_1 = __importDefault(__nccwpck_require__(1017)); +const core = __importStar(__nccwpck_require__(2186)); +const github_1 = __nccwpck_require__(5438); +const callExecutables_1 = __nccwpck_require__(9419); +function grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) { + return __awaiter(this, void 0, void 0, function* () { + core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`); + const query = `http://grafana/render/d/${dashboard}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`; + core.debug('grafana query: ' + query); + const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"`); + core.debug('grafana imageb64: ' + + imageb64.slice(0, 100) + + '...TRUNCATED...' + + imageb64.slice(-100)); + // write image to fs + yield (0, callExecutables_1.callAsync)(`echo "${imageb64}" | base64 --decode > pic.png`); + const pictureName = `${workloadId}-${new Date().valueOf()}.png`; + // upload + yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png "s3://${path_1.default.join(s3Folder, pictureName)}"`); + // delete + yield (0, callExecutables_1.callAsync)(`rm pic.png`); + // return name + const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName); + core.debug('fullPictureUri: ' + fullPictureUri); + return `${fullPictureUri}`; + }); +} +exports.grafanaScreenshot = grafanaScreenshot; +function postComment(octokit, id, message) { + return __awaiter(this, void 0, void 0, function* () { + if (!github_1.context.payload.pull_request) + return; + const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message }); + try { + yield octokit.rest.issues.createComment(data); + } + catch (error) { + yield octokit.rest.issues.updateComment(data); + } + }); +} +exports.postComment = postComment; + + +/***/ }), + +/***/ 3109: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +const core = __importStar(__nccwpck_require__(2186)); +const github = __importStar(__nccwpck_require__(5438)); +const parseArguments_1 = __nccwpck_require__(7653); +const callExecutables_1 = __nccwpck_require__(9419); +const mutex_1 = __nccwpck_require__(1762); +const cluster_1 = __nccwpck_require__(3179); +const workload_1 = __nccwpck_require__(6186); +const getInfrastractureEndpoints_1 = __nccwpck_require__(8660); +const errorScheduler_1 = __nccwpck_require__(8995); +const retry_1 = __nccwpck_require__(4542); +const checkResults_1 = __nccwpck_require__(843); +const grafanaScreenshot_1 = __nccwpck_require__(1413); +const crypto_1 = __nccwpck_require__(6113); +const isPullRequest = !!github.context.payload.pull_request; +function main() { + return __awaiter(this, void 0, void 0, function* () { + try { + let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)(); + core.debug(`Setting up OctoKit`); + const octokit = github.getOctokit(githubToken); + (0, callExecutables_1.prepareK8S)(kubeconfig); + (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig); + yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword); + // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer + const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)(); + core.info(`Services pods: ${JSON.stringify(servicesPods)}`); + core.info('Run SLO tests for: \n' + + workloads + .map(option => { + let str = `#${option.id}`; + str += option.name ? `(${option.name})\n` : '\n'; + str += `path: '${option.path}'\n`; + str += option.buildContext + ? `build context: '${option.buildContext}'\n` + : ''; + str += option.buildOptions + ? `build options: '${option.buildOptions}'\n` + : ''; + return str; + }) + .join('===')); + const mutexId = workloads.length > 1 + ? workloads.map(v => v.id).join('__+__') + : workloads[0].id; + yield (0, mutex_1.obtainMutex)(mutexId, 30); + core.info('Mutex obtained!'); + const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id)); + core.info('Create cluster and build all workloads'); + const builded = workloads.map(() => false); + const clusterWorkloadRes = yield Promise.allSettled([ + (0, cluster_1.createCluster)(ydbVersion, 15), + // TODO: create placeholder pods for databases + // TODO: catch build error and stop cluster creation + ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => { + builded[idx] = true; + })) + ]); + /** Indicates that cluster created, some of workloads builded and it's possible to run wl */ + const continueRun = clusterWorkloadRes[0].status === 'fulfilled' && + builded.filter(v => v).length > 0; + core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`); + if (builded.every(v => v)) { + core.info('All workloads builded successfully'); + } + else { + if (continueRun) { + builded.map((done, i) => { + if (!done) + core.info(`Error in '${workloads[i].id}' build`); + else + core.info(`'${workloads[i].id}' build successful`); + }); + } + else { + core.info('No workloads builded!'); + } + } + if (continueRun) { + // retry create operation one time in case of error + const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () { + return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', { + id: wl.id, + dockerPath: dockerPaths[idx], + timeoutMins: 2, + args: `--min-partitions-count 6 --max-partitions-count 1000 ` + + `--partition-size 1 --initial-data-count 1000` + })); + }))); + core.debug('create results: ' + JSON.stringify(createResult)); + if (createResult.filter(r => r.status === 'fulfilled').length === 0) { + throw new Error('No workloads performed `create` action, exit'); + } + else { + // run in parrallel without retries + const runResult = yield Promise.allSettled([ + ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', { + id: wl.id, + dockerPath: dockerPaths[idx], + timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60), + args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` + + `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` + })), + (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases) + ]); + core.debug('run results: ' + JSON.stringify(runResult)); + if (runResult + .slice(0, workloads.length) + .filter(r => r.status === 'fulfilled').length === 0) { + core.info('No successfull workload runs!'); + throw new Error('No workloads runs completed successfully'); + } + else { + // TODO: somehow use objectives as input + const objectives = { + success_rate: [{ filter: {}, value: ['>', 0.98] }], + max_99_latency: [ + { filter: { status: 'ok' }, value: ['<', 100] }, + { filter: { status: 'err' }, value: ['<', 30000] } + ], + fail_interval: [{ filter: {}, value: ['<', 20] }] + }; + let promises = []; + runResult.map((r, i) => { + if (r.status === 'fulfilled' && i !== runResult.length - 1) { + const timings = r.value; + promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives)); + core.debug('isPullRequest=' + isPullRequest); + if (isPullRequest) { + core.debug('Push to promises grafana screenshot and postComment'); + promises.push((() => __awaiter(this, void 0, void 0, function* () { + var _a; + const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard); + const comment = ` + :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**: + + [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()}) + + ![SLO-${workloads[i].id}](${pictureUri})`; + yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1') + .update('nodejs-1') + .digest() + .readUint32BE(), comment); + }))()); + } + } + }); + const res = yield Promise.allSettled(promises); + core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res)); + } + } + } + (0, cluster_1.deleteCluster)(); + (0, mutex_1.releaseMutex)(); + } + catch (error) { + if (error instanceof Error) + core.setFailed(error.message); + } + }); +} +const isPostAction = !!core.getState('isPost'); +if (isPostAction) { + core.info('Cleanup'); + core.debug('Remove .kube dir'); + (0, callExecutables_1.call)('rm -rf ~/.kube'); + core.debug('Remove .aws dir'); + (0, callExecutables_1.call)('rm -rf ~/.aws'); +} +else { + main(); +} + + +/***/ }), + +/***/ 1762: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.releaseMutex = exports.obtainMutex = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const callExecutables_1 = __nccwpck_require__(9419); +const groupDecorator_1 = __nccwpck_require__(8990); +const withTimeout_1 = __nccwpck_require__(5476); +/** Is mutex busy (configmap has field busy) */ +function isBusy(name) { + var _a, _b, _c; + core.debug(`isBusy(${name})`); + const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`); + core.debug('isBusy result: ' + res); + const configmap = JSON.parse(res); + core.debug('configmap parsed: ' + JSON.stringify(configmap)); + if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) { + core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`); + return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy; + } + return false; +} +function setBusy(lockedBy) { + core.debug(`setBusy(${lockedBy})`); + (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`); +} +/** + * Obtain mutex + * @param workloadId id to mention in mutex + * @param timeout timeout in minutes + * @param checkPeriod update period in seconds + */ +function obtainMutex(workloadId, timeout, checkPeriod = 20) { + return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () { + return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => { + const busy = isBusy('slo-mutex'); + if (typeof busy === 'boolean' && !busy) { + core.debug('Set mutex'); + setBusy(workloadId); + core.info('Mutex obtained'); + core.debug('Mutex sleep 5s'); + (0, callExecutables_1.call)('sleep 5'); + core.debug('Re-check after sleep'); + const mutexObtainedBy = isBusy('slo-mutex'); + if (mutexObtainedBy !== workloadId) { + core.info('Mutex is not obtained!'); + return false; + } + return true; + } + return false; + }); + })); +} +exports.obtainMutex = obtainMutex; +function releaseMutex() { + return (0, groupDecorator_1.logGroup)('Release mutex', () => { + (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`); + }); +} +exports.releaseMutex = releaseMutex; + + +/***/ }), + +/***/ 7653: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.parseArguments = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const groupDecorator_1 = __nccwpck_require__(8990); +const cluster_1 = __nccwpck_require__(3179); +function parseArguments() { + return (0, groupDecorator_1.logGroup)('Parse arguments', () => { + let workloads = []; + let i = -1, haveValue = true; + do { + const readedValue = getWorkloadParam(i); + if (null === readedValue) { + // can start from '' or from 0 + if (i !== -1) + haveValue = false; + } + else { + workloads.push(readedValue); + } + i++; + } while (haveValue); + const githubToken = core.getInput('GITHUB_TOKEN'); + const kubeconfig = core.getInput('KUBECONFIG_B64'); + const dockerRepo = core.getInput('DOCKER_REPO'); + const dockerFolder = core.getInput('DOCKER_FOLDER'); + const dockerUsername = core.getInput('DOCKER_USERNAME'); + const dockerPassword = core.getInput('DOCKER_PASSWORD'); + const awsCredentials = core.getInput('AWS_CREDENTIALS_B64'); + const awsConfig = core.getInput('AWS_CONFIG_B64'); + const s3Endpoint = core.getInput('s3_endpoint'); + const s3Folder = core.getInput('s3_images_folder'); + const grafanaDomain = core.getInput('grafana_domain'); + const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k'; + let ydbVersion = core.getInput('ydb_version'); + const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20'); + const shutdownTime = Number(core.getInput('shutdown_time') || '30'); + if (isNaN(timeBetweenPhases)) + throw new Error('time_between_phases is not a number'); + if (isNaN(shutdownTime)) + throw new Error('shutdown_time is not a number'); + if (ydbVersion === '') + ydbVersion = '23.1.26'; + if (ydbVersion === 'newest') { + core.info('Get YDB docker versions'); + const ydbVersions = (0, cluster_1.getYdbVersions)(); + ydbVersion = ydbVersions[ydbVersions.length - 1]; + core.info(`Use YDB docker version = '${ydbVersion}'`); + } + // TODO: add other args + return { + workloads, + githubToken, + kubeconfig, + awsCredentials, + awsConfig, + s3Endpoint, + s3Folder, + dockerRepo, + dockerFolder, + dockerUsername, + dockerPassword, + ydbVersion, + timeBetweenPhases, + shutdownTime, + grafanaDomain, + grafanaDashboard + }; + }); +} +exports.parseArguments = parseArguments; +function getWorkloadParam(id) { + let suffix = id == -1 ? '' : `${id}`; + const languageId = core.getInput('language_id' + suffix); + const languageName = core.getInput('language' + suffix); + const workloadPath = core.getInput('workload_path' + suffix); + const workloadBuildContext = core.getInput('workload_build_context' + suffix); + const workloadBuildOptions = core.getInput('workload_build_options' + suffix); + core.debug(`getWorkloadParam(${id}): + suffix='${suffix}' + languageId='${languageId}' + languageName='${languageName}' + workloadPath='${workloadPath}' + workloadBuildContext='${workloadBuildContext}' + workloadBuildOptions='${workloadBuildOptions}'`); + // id and path are required + if (languageId.length === 0 || workloadPath.length === 0) { + core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`); + return null; + } + let options = { + id: languageId, + path: workloadPath + }; + if (languageName) + options.name = languageName; + if (workloadBuildContext) + options.buildContext = workloadBuildContext; + if (workloadBuildOptions) + options.buildOptions = workloadBuildOptions; + return options; +} + + +/***/ }), + +/***/ 8990: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.logGroup = void 0; +const core = __importStar(__nccwpck_require__(2186)); +// eslint-disable-next-line @typescript-eslint/promise-function-async +function logGroup(name, fun) { + core.startGroup(name); + const res = fun(); + if (res instanceof Promise) { + return res.finally(() => { + core.endGroup(); + }); + } + else { + core.endGroup(); + return res; + } +} +exports.logGroup = logGroup; + + +/***/ }), + +/***/ 4542: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.retry = void 0; +const core = __importStar(__nccwpck_require__(2186)); +function retry(retries, inner) { + return __awaiter(this, void 0, void 0, function* () { + let error; + while (retries > 0) { + try { + return yield inner(); + } + catch (e) { + error = e; + } + retries--; + } + core.info('All retries have been used, re-throwing error'); + throw error; + }); +} +exports.retry = retry; + + +/***/ }), + +/***/ 5476: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0; +const core = __importStar(__nccwpck_require__(2186)); +class TimeoutExceededError extends Error { +} +exports.TimeoutExceededError = TimeoutExceededError; +function withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) { + return __awaiter(this, void 0, void 0, function* () { + core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`); + const deadline = new Date().valueOf() + timeoutM * 1000 * 60; + core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`); + do { + core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`); + if (yield checkFunc()) + return; + yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000)); + } while (new Date().valueOf() < deadline); + core.debug(`withTimeout throw timeout`); + throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`); + }); +} +exports.withTimeout = withTimeout; +function withTimeoutSimple(timeoutS, func) { + return __awaiter(this, void 0, void 0, function* () { + return Promise.race([ + func, + new Promise((_, reject) => setTimeout(reject, timeoutS * 1000)) + ]); + }); +} +exports.withTimeoutSimple = withTimeoutSimple; + + +/***/ }), + +/***/ 6186: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const github = __importStar(__nccwpck_require__(5438)); +const callExecutables_1 = __nccwpck_require__(9419); +const groupDecorator_1 = __nccwpck_require__(8990); +// npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json +const manifests_json_1 = __importDefault(__nccwpck_require__(1542)); +const withTimeout_1 = __nccwpck_require__(5476); +const workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content; +function dockerLogin(repo, user, password) { + return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () { + try { + yield (0, callExecutables_1.callAsync)(`echo "${password}" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true); + core.info('Successfully logged in'); + } + catch (error) { + // suppress error revealing user and password + const msg = 'Incorrect docker repo, username or password'; + if ((error === null || error === void 0 ? void 0 : error.message) && + (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) { + core.info(msg); + } + else { + core.info('Something went wrong in docker login'); + } + throw new Error(msg); + } + })); +} +exports.dockerLogin = dockerLogin; +function generateDockerPath(repo, folder, id) { + return `${repo}/${folder}/${id}`; +} +exports.generateDockerPath = generateDockerPath; +function buildWorkload(id, dockerImage, workingDir, options, context) { + if (!options || options.length === 0) + options = ''; + if (!context || context.length === 0) + context = '.'; + return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () { + core.info('Build docker image'); + yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` + + `-t ${dockerImage}:latest ` + + `-t ${dockerImage}:gh-${github.context.sha} ` + + `${options} ` + + `${context}`, false, workingDir); + core.info('Push docker tag @latest'); + yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`); + core.info(`Push docker tag '@gh-${github.context.sha}'`); + yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`); + })); +} +exports.buildWorkload = buildWorkload; +function runWorkload(command, options) { + return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () { + const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`; + const workloadManifest = workloadManifestTemplate + .replace(/\$\{\{LANGUAGE_ID\}\}/g, options.id) + .replace(/\$\{\{COMMAND\}\}/g, command) + .replace(/\$\{\{DOCKER_IMAGE\}\}/g, options.dockerPath) + .replace('${{ARGS}}', containerArgs + .split(' ') + .map(s => `'${s}'`) + .join('\n - ')); + core.debug(`Workload manifest: \n\n${workloadManifest}`); + const startTime = new Date(); + core.info(`Workload apply ${command} result:\n` + + (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () { + const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`)); + core.debug('Workload status check: ' + JSON.stringify(status)); + if (status.failed) { + const msg = `Workload ${options.id} ${command} failed`; + core.info(msg); + // print logs + core.info(`Workload ${options.id} ${command} logs:\n` + + (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`))); + throw new Error(msg); + } + if (status.complete || status.succeeded) + return true; + return false; + })); + const endTime = new Date(); + // print logs + core.info(`Workload ${options.id} ${command} logs:\n` + + (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`))); + return { startTime, endTime }; + })); +} +exports.runWorkload = runWorkload; + + +/***/ }), + +/***/ 7351: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(__nccwpck_require__(2037)); +const utils_1 = __nccwpck_require__(5278); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return utils_1.toCommandValue(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map + +/***/ }), + +/***/ 2186: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +const command_1 = __nccwpck_require__(7351); +const file_command_1 = __nccwpck_require__(717); +const utils_1 = __nccwpck_require__(5278); +const os = __importStar(__nccwpck_require__(2037)); +const path = __importStar(__nccwpck_require__(1017)); +const oidc_utils_1 = __nccwpck_require__(8041); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); + } + command_1.issueCommand('set-env', { name }, convertedVal); +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + file_command_1.issueFileCommand('PATH', inputPath); + } + else { + command_1.issueCommand('add-path', {}, inputPath); + } + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); +} +exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + command_1.issue('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message, properties = {}) { + command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.error = error; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message, properties = {}) { + command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = __nccwpck_require__(1327); +Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } })); +/** + * @deprecated use core.summary + */ +var summary_2 = __nccwpck_require__(1327); +Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } })); +/** + * Path exports + */ +var path_utils_1 = __nccwpck_require__(2981); +Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } })); +Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } })); +Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } })); +//# sourceMappingURL=core.js.map + +/***/ }), + +/***/ 717: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +// For internal use, subject to change. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const fs = __importStar(__nccwpck_require__(7147)); +const os = __importStar(__nccwpck_require__(2037)); +const uuid_1 = __nccwpck_require__(5840); +const utils_1 = __nccwpck_require__(5278); +function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; +//# sourceMappingURL=file-command.js.map + +/***/ }), + +/***/ 8041: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OidcClient = void 0; +const http_client_1 = __nccwpck_require__(6255); +const auth_1 = __nccwpck_require__(5526); +const core_1 = __nccwpck_require__(2186); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map + +/***/ }), + +/***/ 2981: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(__nccwpck_require__(1017)); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map + +/***/ }), + +/***/ 1327: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = __nccwpck_require__(2037); +const fs_1 = __nccwpck_require__(7147); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map + +/***/ }), + +/***/ 5278: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 4087: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Context = void 0; +const fs_1 = __nccwpck_require__(7147); +const os_1 = __nccwpck_require__(2037); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + var _a, _b, _c; + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; + this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; + this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map + +/***/ }), + +/***/ 5438: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOctokit = exports.context = void 0; +const Context = __importStar(__nccwpck_require__(4087)); +const utils_1 = __nccwpck_require__(3030); +exports.context = new Context.Context(); +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokit(token, options, ...additionalPlugins) { + const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); + return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options)); +} +exports.getOctokit = getOctokit; +//# sourceMappingURL=github.js.map + +/***/ }), + +/***/ 7914: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; +const httpClient = __importStar(__nccwpck_require__(6255)); +function getAuthString(token, options) { + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; +} +exports.getAuthString = getAuthString; +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +exports.getProxyAgent = getProxyAgent; +function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; +} +exports.getApiBaseUrl = getApiBaseUrl; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 3030: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; +const Context = __importStar(__nccwpck_require__(4087)); +const Utils = __importStar(__nccwpck_require__(7914)); +// octokit + plugins +const core_1 = __nccwpck_require__(6762); +const plugin_rest_endpoint_methods_1 = __nccwpck_require__(3044); +const plugin_paginate_rest_1 = __nccwpck_require__(4193); +exports.context = new Context.Context(); +const baseUrl = Utils.getApiBaseUrl(); +exports.defaults = { + baseUrl, + request: { + agent: Utils.getProxyAgent(baseUrl) + } +}; +exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokitOptions(token, options) { + const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = Utils.getAuthString(token, opts); + if (auth) { + opts.auth = auth; + } + return opts; +} +exports.getOctokitOptions = getOctokitOptions; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 5526: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map + +/***/ }), + +/***/ 6255: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(__nccwpck_require__(3685)); +const https = __importStar(__nccwpck_require__(5687)); +const pm = __importStar(__nccwpck_require__(9835)); +const tunnel = __importStar(__nccwpck_require__(4294)); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 9835: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +//# sourceMappingURL=proxy.js.map + +/***/ }), + +/***/ 334: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 6762: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var universalUserAgent = __nccwpck_require__(5030); +var beforeAfterHook = __nccwpck_require__(3682); +var request = __nccwpck_require__(6234); +var graphql = __nccwpck_require__(8467); +var authToken = __nccwpck_require__(334); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +const VERSION = "3.6.0"; + +const _excluded = ["authStrategy"]; +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); + + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 + + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } + + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } + + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 9440: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var isPlainObject = __nccwpck_require__(3287); +var universalUserAgent = __nccwpck_require__(5030); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten + + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + + if (names.length === 0) { + return url; + } + + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; + +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} + +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + + if (!matches) { + return []; + } + + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + + return part; + }).join(""); +} + +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} + +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} + +function isDefined(value) { + return value !== undefined && value !== null; +} + +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} + +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + + return result; +} + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} + +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later + + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set + + + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + + + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 8467: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var request = __nccwpck_require__(6234); +var universalUserAgent = __nccwpck_require__(5030); + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + + if (!result.variables) { + result.variables = {}; + } + + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 4193: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const VERSION = "2.21.3"; + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = null != arguments[i] ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return _objectSpread2(_objectSpread2({}, response), {}, { + data: [] + }); + } + + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. + + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + + response.data.total_count = totalCount; + return response; +} + +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) return { + done: true + }; + + try { + const response = await requestMethod({ + method, + url, + headers + }); + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: normalizedResponse + }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + + }) + }; +} + +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} + +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } + + let earlyExit = false; + + function done() { + earlyExit = true; + } + + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); + + if (earlyExit) { + return results; + } + + return gather(octokit, results, iterator, mapFn); + }); +} + +const composePaginateRest = Object.assign(paginate, { + iterator +}); + +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/audit-log", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /enterprises/{enterprise}/settings/billing/advanced-security", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/audit-log", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/settings/billing/advanced-security", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; + +exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; +exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 3044: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } + + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +const Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], + addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], + deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], + getActionsCacheUsageForEnterprise: ["GET /enterprises/{enterprise}/actions/cache/usage"], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getGithubActionsDefaultWorkflowPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { + renamed: ["actions", "getGithubActionsPermissionsRepository"] + }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], + listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], + listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], + removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], + setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + setGithubActionsDefaultWorkflowPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], + setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] + }], + addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], + removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] + }], + removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubAdvancedSecurityBillingGhe: ["GET /enterprises/{enterprise}/settings/billing/advanced-security"], + getGithubAdvancedSecurityBillingOrg: ["GET /orgs/{org}/settings/billing/advanced-security"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { + renamedParameters: { + alert_id: "alert_number" + } + }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { + renamed: ["codeScanning", "listAlertInstances"] + }], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], + createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], + createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], + exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], + getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], + listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: ["GET /orgs/{org}/codespaces", {}, { + renamedParameters: { + org_id: "org" + } + }], + listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], + setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + dependabot: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"] + }, + dependencyGraph: { + createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], + diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"] + }, + emojis: { + get: ["GET /emojis"] + }, + enterpriseAdmin: { + addCustomLabelsToSelfHostedRunnerForEnterprise: ["POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], + getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], + getServerStatistics: ["GET /enterprise-installation/{enterprise_or_org}/server-statistics"], + listLabelsForSelfHostedRunnerForEnterprise: ["GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], + removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}"], + setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForEnterprise: ["PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], + setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { + renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] + }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { + renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] + }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { + renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] + }] + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: ["POST /markdown/raw", { + headers: { + "content-type": "text/plain; charset=utf-8" + } + }] + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { + renamed: ["migrations", "listReposForAuthenticatedUser"] + }], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], + updateImport: ["PATCH /repos/{owner}/{repo}/import"] + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomRoles: ["GET /organizations/{organization_id}/custom_roles"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] + }, + rateLimit: { + get: ["GET /rate_limit"] + }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], + deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"] + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "acceptInvitationForAuthenticatedUser"] + }], + acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "declineInvitationForAuthenticatedUser"] + }], + declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], + disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { + renamed: ["repos", "downloadZipballArchive"] + }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], + enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], + generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { + renamed: ["repos", "updateStatusCheckProtection"] + }], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { + baseUrl: "https://uploads.github.com" + }] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: ["POST /user/emails", {}, { + renamed: ["users", "addEmailForAuthenticatedUser"] + }], + addEmailForAuthenticatedUser: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { + renamed: ["users", "createGpgKeyForAuthenticatedUser"] + }], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { + renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] + }], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { + renamed: ["users", "deleteEmailForAuthenticatedUser"] + }], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] + }], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { + renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] + }], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "getGpgKeyForAuthenticatedUser"] + }], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { + renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] + }], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks", {}, { + renamed: ["users", "listBlockedByAuthenticatedUser"] + }], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails", {}, { + renamed: ["users", "listEmailsForAuthenticatedUser"] + }], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following", {}, { + renamed: ["users", "listFollowedByAuthenticatedUser"] + }], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { + renamed: ["users", "listGpgKeysForAuthenticatedUser"] + }], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { + renamed: ["users", "listPublicEmailsForAuthenticatedUser"] + }], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { + renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] + }], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { + renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] + }], + setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; + +const VERSION = "5.16.2"; + +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; + + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ + method, + url + }, defaults); + + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + + const scopeMethods = newMethods[scope]; + + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } + } + + return newMethods; +} + +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ + + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` + + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined + }); + return requestWithDefaults(options); + } + + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } + + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + + if (!(alias in options)) { + options[alias] = options[name]; + } + + delete options[name]; + } + } + + return requestWithDefaults(options); + } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + + + return requestWithDefaults(...args); + } + + return Object.assign(withDecorations, requestWithDefaults); +} + +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return _objectSpread2(_objectSpread2({}, api), {}, { + rest: api + }); +} +legacyRestEndpointMethods.VERSION = VERSION; + +exports.legacyRestEndpointMethods = legacyRestEndpointMethods; +exports.restEndpointMethods = restEndpointMethods; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 537: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __nccwpck_require__(8932); +var once = _interopDefault(__nccwpck_require__(1223)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options + + + const requestCopy = Object.assign({}, options.request); + + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); + } + +} + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 6234: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = __nccwpck_require__(9440); +var universalUserAgent = __nccwpck_require__(5030); +var isPlainObject = __nccwpck_require__(3287); +var nodeFetch = _interopDefault(__nccwpck_require__(467)); +var requestError = __nccwpck_require__(537); + +const VERSION = "5.6.3"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); + } + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requests + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); + } + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); + }); +} + +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 3682: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var register = __nccwpck_require__(4670); +var addHook = __nccwpck_require__(5549); +var removeHook = __nccwpck_require__(6819); + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind; +var bindable = bind.bind(bind); + +function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); +} + +function HookSingular() { + var singularHookName = "h"; + var singularHookState = { + registry: {}, + }; + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; +} + +function HookCollection() { + var state = { + registry: {}, + }; + + var hook = register.bind(null, state); + bindApi(hook, state); + + return hook; +} + +var collectionHookDeprecationMessageDisplayed = false; +function Hook() { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; + } + return HookCollection(); +} + +Hook.Singular = HookSingular.bind(); +Hook.Collection = HookCollection.bind(); + +module.exports = Hook; +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook; +module.exports.Singular = Hook.Singular; +module.exports.Collection = Hook.Collection; + + +/***/ }), + +/***/ 5549: +/***/ ((module) => { + +module.exports = addHook; + +function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = function (method, options) { + var result; + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_; + return orig(result, options); + }) + .then(function () { + return result; + }); + }; + } + + if (kind === "error") { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} + + +/***/ }), + +/***/ 4670: +/***/ ((module) => { + +module.exports = register; + +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + + if (!options) { + options = {}; + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} + + +/***/ }), + +/***/ 6819: +/***/ ((module) => { + +module.exports = removeHook; + +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} + + +/***/ }), + +/***/ 8932: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; + + +/***/ }), + +/***/ 3287: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(o) { + return Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (ctor === undefined) return true; + + // If has modified prototype + prot = ctor.prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +exports.isPlainObject = isPlainObject; + + +/***/ }), + +/***/ 467: +/***/ ((module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(__nccwpck_require__(2781)); +var http = _interopDefault(__nccwpck_require__(3685)); +var Url = _interopDefault(__nccwpck_require__(7310)); +var whatwgUrl = _interopDefault(__nccwpck_require__(8665)); +var https = _interopDefault(__nccwpck_require__(5687)); +var zlib = _interopDefault(__nccwpck_require__(9796)); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = (__nccwpck_require__(2877).convert); +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } + + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +const URL$1 = Url.URL || whatwgUrl.URL; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; + +/** + * isSameProtocol reports whether the two provided URLs use the same protocol. + * + * Both domains must already be in canonical form. + * @param {string|URL} original + * @param {string|URL} destination + */ +const isSameProtocol = function isSameProtocol(destination, original) { + const orig = new URL$1(original).protocol; + const dest = new URL$1(destination).protocol; + + return orig === dest; +}; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + destroyStream(request.body, error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + + if (response && response.body) { + destroyStream(response.body, err); + } + + finalize(); + }); + + fixResponseChunkedTransferBadEnding(req, function (err) { + if (signal && signal.aborted) { + return; + } + + if (response && response.body) { + destroyStream(response.body, err); + } + }); + + /* c8 ignore next 18 */ + if (parseInt(process.version.substring(1)) < 14) { + // Before Node.js 14, pipeline() does not fully support async iterators and does not always + // properly handle when the socket close/end events are out of order. + req.on('socket', function (s) { + s.addListener('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = s.listenerCount('data') > 0; + + // if end happened before close but the socket didn't emit an error, do it now + if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + response.body.emit('error', err); + } + }); + }); + } + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout, + size: request.size + }; + + if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + raw.on('end', function () { + // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. + if (!response) { + response = new Response(body, response_options); + resolve(response); + } + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +function fixResponseChunkedTransferBadEnding(request, errorCallback) { + let socket; + + request.on('socket', function (s) { + socket = s; + }); + + request.on('response', function (response) { + const headers = response.headers; + + if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { + response.once('close', function (hadError) { + // if a data listener is still present we didn't end cleanly + const hasDataListener = socket.listenerCount('data') > 0; + + if (hasDataListener && !hadError) { + const err = new Error('Premature close'); + err.code = 'ERR_STREAM_PREMATURE_CLOSE'; + errorCallback(err); + } + }); + } + }); +} + +function destroyStream(stream, err) { + if (stream.destroy) { + stream.destroy(err); + } else { + // node < 8 + stream.emit('error', err); + stream.end(); + } +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports["default"] = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; + + +/***/ }), + +/***/ 1223: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var wrappy = __nccwpck_require__(2940) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + + +/***/ }), + +/***/ 4256: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var punycode = __nccwpck_require__(5477); +var mappingTable = __nccwpck_require__(2020); + +var PROCESSING_OPTIONS = { + TRANSITIONAL: 0, + NONTRANSITIONAL: 1 +}; + +function normalize(str) { // fix bug in v8 + return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); +} + +function findStatus(val) { + var start = 0; + var end = mappingTable.length - 1; + + while (start <= end) { + var mid = Math.floor((start + end) / 2); + + var target = mappingTable[mid]; + if (target[0][0] <= val && target[0][1] >= val) { + return target; + } else if (target[0][0] > val) { + end = mid - 1; + } else { + start = mid + 1; + } + } + + return null; +} + +var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + +function countSymbols(string) { + return string + // replace every surrogate pair with a BMP symbol + .replace(regexAstralSymbols, '_') + // then get the length + .length; +} + +function mapChars(domain_name, useSTD3, processing_option) { + var hasError = false; + var processed = ""; + + var len = countSymbols(domain_name); + for (var i = 0; i < len; ++i) { + var codePoint = domain_name.codePointAt(i); + var status = findStatus(codePoint); + + switch (status[1]) { + case "disallowed": + hasError = true; + processed += String.fromCodePoint(codePoint); + break; + case "ignored": + break; + case "mapped": + processed += String.fromCodePoint.apply(String, status[2]); + break; + case "deviation": + if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { + processed += String.fromCodePoint.apply(String, status[2]); + } else { + processed += String.fromCodePoint(codePoint); + } + break; + case "valid": + processed += String.fromCodePoint(codePoint); + break; + case "disallowed_STD3_mapped": + if (useSTD3) { + hasError = true; + processed += String.fromCodePoint(codePoint); + } else { + processed += String.fromCodePoint.apply(String, status[2]); + } + break; + case "disallowed_STD3_valid": + if (useSTD3) { + hasError = true; + } + + processed += String.fromCodePoint(codePoint); + break; + } + } + + return { + string: processed, + error: hasError + }; +} + +var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; + +function validateLabel(label, processing_option) { + if (label.substr(0, 4) === "xn--") { + label = punycode.toUnicode(label); + processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; + } + + var error = false; + + if (normalize(label) !== label || + (label[3] === "-" && label[4] === "-") || + label[0] === "-" || label[label.length - 1] === "-" || + label.indexOf(".") !== -1 || + label.search(combiningMarksRegex) === 0) { + error = true; + } + + var len = countSymbols(label); + for (var i = 0; i < len; ++i) { + var status = findStatus(label.codePointAt(i)); + if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || + (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && + status[1] !== "valid" && status[1] !== "deviation")) { + error = true; + break; + } + } + + return { + label: label, + error: error + }; +} + +function processing(domain_name, useSTD3, processing_option) { + var result = mapChars(domain_name, useSTD3, processing_option); + result.string = normalize(result.string); + + var labels = result.string.split("."); + for (var i = 0; i < labels.length; ++i) { + try { + var validation = validateLabel(labels[i]); + labels[i] = validation.label; + result.error = result.error || validation.error; + } catch(e) { + result.error = true; + } + } + + return { + string: labels.join("."), + error: result.error + }; +} + +module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { + var result = processing(domain_name, useSTD3, processing_option); + var labels = result.string.split("."); + labels = labels.map(function(l) { + try { + return punycode.toASCII(l); + } catch(e) { + result.error = true; + return l; + } + }); + + if (verifyDnsLength) { + var total = labels.slice(0, labels.length - 1).join(".").length; + if (total.length > 253 || total.length === 0) { + result.error = true; + } + + for (var i=0; i < labels.length; ++i) { + if (labels.length > 63 || labels.length === 0) { + result.error = true; + break; + } + } + } + + if (result.error) return null; + return labels.join("."); +}; + +module.exports.toUnicode = function(domain_name, useSTD3) { + var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); + + return { + domain: result.string, + error: result.error + }; +}; + +module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; + + +/***/ }), + +/***/ 4294: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +module.exports = __nccwpck_require__(4219); + + +/***/ }), + +/***/ 4219: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +var net = __nccwpck_require__(1808); +var tls = __nccwpck_require__(4404); +var http = __nccwpck_require__(3685); +var https = __nccwpck_require__(5687); +var events = __nccwpck_require__(2361); +var assert = __nccwpck_require__(9491); +var util = __nccwpck_require__(3837); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test + + +/***/ }), + +/***/ 5030: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + + if (typeof process === "object" && "version" in process) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + + return ""; +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 5840: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "v1", ({ + enumerable: true, + get: function () { + return _v.default; + } +})); +Object.defineProperty(exports, "v3", ({ + enumerable: true, + get: function () { + return _v2.default; + } +})); +Object.defineProperty(exports, "v4", ({ + enumerable: true, + get: function () { + return _v3.default; + } +})); +Object.defineProperty(exports, "v5", ({ + enumerable: true, + get: function () { + return _v4.default; + } +})); +Object.defineProperty(exports, "NIL", ({ + enumerable: true, + get: function () { + return _nil.default; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function () { + return _version.default; + } +})); +Object.defineProperty(exports, "validate", ({ + enumerable: true, + get: function () { + return _validate.default; + } +})); +Object.defineProperty(exports, "stringify", ({ + enumerable: true, + get: function () { + return _stringify.default; + } +})); +Object.defineProperty(exports, "parse", ({ + enumerable: true, + get: function () { + return _parse.default; + } +})); + +var _v = _interopRequireDefault(__nccwpck_require__(8628)); + +var _v2 = _interopRequireDefault(__nccwpck_require__(6409)); + +var _v3 = _interopRequireDefault(__nccwpck_require__(5122)); + +var _v4 = _interopRequireDefault(__nccwpck_require__(9120)); + +var _nil = _interopRequireDefault(__nccwpck_require__(5332)); + +var _version = _interopRequireDefault(__nccwpck_require__(1595)); + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +var _parse = _interopRequireDefault(__nccwpck_require__(2746)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/***/ }), + +/***/ 4569: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('md5').update(bytes).digest(); +} + +var _default = md5; +exports["default"] = _default; + +/***/ }), + +/***/ 5332: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _default = '00000000-0000-0000-0000-000000000000'; +exports["default"] = _default; + +/***/ }), + +/***/ 2746: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function parse(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +var _default = parse; +exports["default"] = _default; + +/***/ }), + +/***/ 814: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; +exports["default"] = _default; + +/***/ }), + +/***/ 807: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = rng; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; + +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + _crypto.default.randomFillSync(rnds8Pool); + + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} + +/***/ }), + +/***/ 5274: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return _crypto.default.createHash('sha1').update(bytes).digest(); +} + +var _default = sha1; +exports["default"] = _default; + +/***/ }), + +/***/ 8950: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!(0, _validate.default)(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +var _default = stringify; +exports["default"] = _default; + +/***/ }), + +/***/ 8628: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _rng = _interopRequireDefault(__nccwpck_require__(807)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || _rng.default)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || (0, _stringify.default)(b); +} + +var _default = v1; +exports["default"] = _default; + +/***/ }), + +/***/ 6409: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _v = _interopRequireDefault(__nccwpck_require__(5998)); + +var _md = _interopRequireDefault(__nccwpck_require__(4569)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v3 = (0, _v.default)('v3', 0x30, _md.default); +var _default = v3; +exports["default"] = _default; + +/***/ }), + +/***/ 5998: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = _default; +exports.URL = exports.DNS = void 0; + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +var _parse = _interopRequireDefault(__nccwpck_require__(2746)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +exports.DNS = DNS; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +exports.URL = URL; + +function _default(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = (0, _parse.default)(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return (0, _stringify.default)(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} + +/***/ }), + +/***/ 5122: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _rng = _interopRequireDefault(__nccwpck_require__(807)); + +var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function v4(options, buf, offset) { + options = options || {}; + + const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return (0, _stringify.default)(rnds); +} + +var _default = v4; +exports["default"] = _default; + +/***/ }), + +/***/ 9120: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _v = _interopRequireDefault(__nccwpck_require__(5998)); + +var _sha = _interopRequireDefault(__nccwpck_require__(5274)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +const v5 = (0, _v.default)('v5', 0x50, _sha.default); +var _default = v5; +exports["default"] = _default; + +/***/ }), + +/***/ 6900: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _regex = _interopRequireDefault(__nccwpck_require__(814)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function validate(uuid) { + return typeof uuid === 'string' && _regex.default.test(uuid); +} + +var _default = validate; +exports["default"] = _default; + +/***/ }), + +/***/ 1595: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; + +var _validate = _interopRequireDefault(__nccwpck_require__(6900)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function version(uuid) { + if (!(0, _validate.default)(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +var _default = version; +exports["default"] = _default; + +/***/ }), + +/***/ 4886: +/***/ ((module) => { + +"use strict"; + + +var conversions = {}; +module.exports = conversions; + +function sign(x) { + return x < 0 ? -1 : 1; +} + +function evenRound(x) { + // Round x to the nearest integer, choosing the even integer if it lies halfway between two. + if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) + return Math.floor(x); + } else { + return Math.round(x); + } +} + +function createNumberConversion(bitLength, typeOpts) { + if (!typeOpts.unsigned) { + --bitLength; + } + const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); + const upperBound = Math.pow(2, bitLength) - 1; + + const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); + const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); + + return function(V, opts) { + if (!opts) opts = {}; + + let x = +V; + + if (opts.enforceRange) { + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite number"); + } + + x = sign(x) * Math.floor(Math.abs(x)); + if (x < lowerBound || x > upperBound) { + throw new TypeError("Argument is not in byte range"); + } + + return x; + } + + if (!isNaN(x) && opts.clamp) { + x = evenRound(x); + + if (x < lowerBound) x = lowerBound; + if (x > upperBound) x = upperBound; + return x; + } + + if (!Number.isFinite(x) || x === 0) { + return 0; + } + + x = sign(x) * Math.floor(Math.abs(x)); + x = x % moduloVal; + + if (!typeOpts.unsigned && x >= moduloBound) { + return x - moduloVal; + } else if (typeOpts.unsigned) { + if (x < 0) { + x += moduloVal; + } else if (x === -0) { // don't return negative zero + return 0; + } + } + + return x; + } +} + +conversions["void"] = function () { + return undefined; +}; + +conversions["boolean"] = function (val) { + return !!val; +}; + +conversions["byte"] = createNumberConversion(8, { unsigned: false }); +conversions["octet"] = createNumberConversion(8, { unsigned: true }); + +conversions["short"] = createNumberConversion(16, { unsigned: false }); +conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); + +conversions["long"] = createNumberConversion(32, { unsigned: false }); +conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); + +conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); +conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); + +conversions["double"] = function (V) { + const x = +V; + + if (!Number.isFinite(x)) { + throw new TypeError("Argument is not a finite floating-point value"); + } + + return x; +}; + +conversions["unrestricted double"] = function (V) { + const x = +V; + + if (isNaN(x)) { + throw new TypeError("Argument is NaN"); + } + + return x; +}; + +// not quite valid, but good enough for JS +conversions["float"] = conversions["double"]; +conversions["unrestricted float"] = conversions["unrestricted double"]; + +conversions["DOMString"] = function (V, opts) { + if (!opts) opts = {}; + + if (opts.treatNullAsEmptyString && V === null) { + return ""; + } + + return String(V); +}; + +conversions["ByteString"] = function (V, opts) { + const x = String(V); + let c = undefined; + for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { + if (c > 255) { + throw new TypeError("Argument is not a valid bytestring"); + } + } + + return x; +}; + +conversions["USVString"] = function (V) { + const S = String(V); + const n = S.length; + const U = []; + for (let i = 0; i < n; ++i) { + const c = S.charCodeAt(i); + if (c < 0xD800 || c > 0xDFFF) { + U.push(String.fromCodePoint(c)); + } else if (0xDC00 <= c && c <= 0xDFFF) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + if (i === n - 1) { + U.push(String.fromCodePoint(0xFFFD)); + } else { + const d = S.charCodeAt(i + 1); + if (0xDC00 <= d && d <= 0xDFFF) { + const a = c & 0x3FF; + const b = d & 0x3FF; + U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); + ++i; + } else { + U.push(String.fromCodePoint(0xFFFD)); + } + } + } + } + + return U.join(''); +}; + +conversions["Date"] = function (V, opts) { + if (!(V instanceof Date)) { + throw new TypeError("Argument is not a Date object"); + } + if (isNaN(V)) { + return undefined; + } + + return V; +}; + +conversions["RegExp"] = function (V, opts) { + if (!(V instanceof RegExp)) { + V = new RegExp(V); + } + + return V; +}; + + +/***/ }), + +/***/ 7537: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +const usm = __nccwpck_require__(2158); + +exports.implementation = class URLImpl { + constructor(constructorArgs) { + const url = constructorArgs[0]; + const base = constructorArgs[1]; + + let parsedBase = null; + if (base !== undefined) { + parsedBase = usm.basicURLParse(base); + if (parsedBase === "failure") { + throw new TypeError("Invalid base URL"); + } + } + + const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + + // TODO: query stuff + } + + get href() { + return usm.serializeURL(this._url); + } + + set href(v) { + const parsedURL = usm.basicURLParse(v); + if (parsedURL === "failure") { + throw new TypeError("Invalid URL"); + } + + this._url = parsedURL; + } + + get origin() { + return usm.serializeURLOrigin(this._url); + } + + get protocol() { + return this._url.scheme + ":"; + } + + set protocol(v) { + usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); + } + + get username() { + return this._url.username; + } + + set username(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setTheUsername(this._url, v); + } + + get password() { + return this._url.password; + } + + set password(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + usm.setThePassword(this._url, v); + } + + get host() { + const url = this._url; + + if (url.host === null) { + return ""; + } + + if (url.port === null) { + return usm.serializeHost(url.host); + } + + return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); + } + + set host(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); + } + + get hostname() { + if (this._url.host === null) { + return ""; + } + + return usm.serializeHost(this._url.host); + } + + set hostname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); + } + + get port() { + if (this._url.port === null) { + return ""; + } + + return usm.serializeInteger(this._url.port); + } + + set port(v) { + if (usm.cannotHaveAUsernamePasswordPort(this._url)) { + return; + } + + if (v === "") { + this._url.port = null; + } else { + usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); + } + } + + get pathname() { + if (this._url.cannotBeABaseURL) { + return this._url.path[0]; + } + + if (this._url.path.length === 0) { + return ""; + } + + return "/" + this._url.path.join("/"); + } + + set pathname(v) { + if (this._url.cannotBeABaseURL) { + return; + } + + this._url.path = []; + usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); + } + + get search() { + if (this._url.query === null || this._url.query === "") { + return ""; + } + + return "?" + this._url.query; + } + + set search(v) { + // TODO: query stuff + + const url = this._url; + + if (v === "") { + url.query = null; + return; + } + + const input = v[0] === "?" ? v.substring(1) : v; + url.query = ""; + usm.basicURLParse(input, { url, stateOverride: "query" }); + } + + get hash() { + if (this._url.fragment === null || this._url.fragment === "") { + return ""; + } + + return "#" + this._url.fragment; + } + + set hash(v) { + if (v === "") { + this._url.fragment = null; + return; + } + + const input = v[0] === "#" ? v.substring(1) : v; + this._url.fragment = ""; + usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); + } + + toJSON() { + return this.href; + } +}; + + +/***/ }), + +/***/ 3394: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const conversions = __nccwpck_require__(4886); +const utils = __nccwpck_require__(3185); +const Impl = __nccwpck_require__(7537); + +const impl = utils.implSymbol; + +function URL(url) { + if (!this || this[impl] || !(this instanceof URL)) { + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); + } + if (arguments.length < 1) { + throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); + } + const args = []; + for (let i = 0; i < arguments.length && i < 2; ++i) { + args[i] = arguments[i]; + } + args[0] = conversions["USVString"](args[0]); + if (args[1] !== undefined) { + args[1] = conversions["USVString"](args[1]); + } + + module.exports.setup(this, args); +} + +URL.prototype.toJSON = function toJSON() { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + const args = []; + for (let i = 0; i < arguments.length && i < 0; ++i) { + args[i] = arguments[i]; + } + return this[impl].toJSON.apply(this[impl], args); +}; +Object.defineProperty(URL.prototype, "href", { + get() { + return this[impl].href; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].href = V; + }, + enumerable: true, + configurable: true +}); + +URL.prototype.toString = function () { + if (!this || !module.exports.is(this)) { + throw new TypeError("Illegal invocation"); + } + return this.href; +}; + +Object.defineProperty(URL.prototype, "origin", { + get() { + return this[impl].origin; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "protocol", { + get() { + return this[impl].protocol; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].protocol = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "username", { + get() { + return this[impl].username; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].username = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "password", { + get() { + return this[impl].password; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].password = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "host", { + get() { + return this[impl].host; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].host = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hostname", { + get() { + return this[impl].hostname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hostname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "port", { + get() { + return this[impl].port; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].port = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "pathname", { + get() { + return this[impl].pathname; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].pathname = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "search", { + get() { + return this[impl].search; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].search = V; + }, + enumerable: true, + configurable: true +}); + +Object.defineProperty(URL.prototype, "hash", { + get() { + return this[impl].hash; + }, + set(V) { + V = conversions["USVString"](V); + this[impl].hash = V; + }, + enumerable: true, + configurable: true +}); + + +module.exports = { + is(obj) { + return !!obj && obj[impl] instanceof Impl.implementation; + }, + create(constructorArgs, privateData) { + let obj = Object.create(URL.prototype); + this.setup(obj, constructorArgs, privateData); + return obj; + }, + setup(obj, constructorArgs, privateData) { + if (!privateData) privateData = {}; + privateData.wrapper = obj; + + obj[impl] = new Impl.implementation(constructorArgs, privateData); + obj[impl][utils.wrapperSymbol] = obj; + }, + interface: URL, + expose: { + Window: { URL: URL }, + Worker: { URL: URL } + } +}; + + + +/***/ }), + +/***/ 8665: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +exports.URL = __nccwpck_require__(3394)["interface"]; +exports.serializeURL = __nccwpck_require__(2158).serializeURL; +exports.serializeURLOrigin = __nccwpck_require__(2158).serializeURLOrigin; +exports.basicURLParse = __nccwpck_require__(2158).basicURLParse; +exports.setTheUsername = __nccwpck_require__(2158).setTheUsername; +exports.setThePassword = __nccwpck_require__(2158).setThePassword; +exports.serializeHost = __nccwpck_require__(2158).serializeHost; +exports.serializeInteger = __nccwpck_require__(2158).serializeInteger; +exports.parseURL = __nccwpck_require__(2158).parseURL; + + +/***/ }), + +/***/ 2158: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +const punycode = __nccwpck_require__(5477); +const tr46 = __nccwpck_require__(4256); + +const specialSchemes = { + ftp: 21, + file: null, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +const failure = Symbol("failure"); + +function countSymbols(str) { + return punycode.ucs2.decode(str).length; +} + +function at(input, idx) { + const c = input[idx]; + return isNaN(c) ? undefined : String.fromCodePoint(c); +} + +function isASCIIDigit(c) { + return c >= 0x30 && c <= 0x39; +} + +function isASCIIAlpha(c) { + return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); +} + +function isASCIIAlphanumeric(c) { + return isASCIIAlpha(c) || isASCIIDigit(c); +} + +function isASCIIHex(c) { + return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); +} + +function isSingleDot(buffer) { + return buffer === "." || buffer.toLowerCase() === "%2e"; +} + +function isDoubleDot(buffer) { + buffer = buffer.toLowerCase(); + return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; +} + +function isWindowsDriveLetterCodePoints(cp1, cp2) { + return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); +} + +function isWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); +} + +function isNormalizedWindowsDriveLetterString(string) { + return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; +} + +function containsForbiddenHostCodePoint(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function containsForbiddenHostCodePointExcludingPercent(string) { + return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; +} + +function isSpecialScheme(scheme) { + return specialSchemes[scheme] !== undefined; +} + +function isSpecial(url) { + return isSpecialScheme(url.scheme); +} + +function defaultPort(scheme) { + return specialSchemes[scheme]; +} + +function percentEncode(c) { + let hex = c.toString(16).toUpperCase(); + if (hex.length === 1) { + hex = "0" + hex; + } + + return "%" + hex; +} + +function utf8PercentEncode(c) { + const buf = new Buffer(c); + + let str = ""; + + for (let i = 0; i < buf.length; ++i) { + str += percentEncode(buf[i]); + } + + return str; +} + +function utf8PercentDecode(str) { + const input = new Buffer(str); + const output = []; + for (let i = 0; i < input.length; ++i) { + if (input[i] !== 37) { + output.push(input[i]); + } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { + output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); + i += 2; + } else { + output.push(input[i]); + } + } + return new Buffer(output).toString(); +} + +function isC0ControlPercentEncode(c) { + return c <= 0x1F || c > 0x7E; +} + +const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); +function isPathPercentEncode(c) { + return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); +} + +const extraUserinfoPercentEncodeSet = + new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); +function isUserinfoPercentEncode(c) { + return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); +} + +function percentEncodeChar(c, encodeSetPredicate) { + const cStr = String.fromCodePoint(c); + + if (encodeSetPredicate(c)) { + return utf8PercentEncode(cStr); + } + + return cStr; +} + +function parseIPv4Number(input) { + let R = 10; + + if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { + input = input.substring(2); + R = 16; + } else if (input.length >= 2 && input.charAt(0) === "0") { + input = input.substring(1); + R = 8; + } + + if (input === "") { + return 0; + } + + const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); + if (regex.test(input)) { + return failure; + } + + return parseInt(input, R); +} + +function parseIPv4(input) { + const parts = input.split("."); + if (parts[parts.length - 1] === "") { + if (parts.length > 1) { + parts.pop(); + } + } + + if (parts.length > 4) { + return input; + } + + const numbers = []; + for (const part of parts) { + if (part === "") { + return input; + } + const n = parseIPv4Number(part); + if (n === failure) { + return input; + } + + numbers.push(n); + } + + for (let i = 0; i < numbers.length - 1; ++i) { + if (numbers[i] > 255) { + return failure; + } + } + if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { + return failure; + } + + let ipv4 = numbers.pop(); + let counter = 0; + + for (const n of numbers) { + ipv4 += n * Math.pow(256, 3 - counter); + ++counter; + } + + return ipv4; +} + +function serializeIPv4(address) { + let output = ""; + let n = address; + + for (let i = 1; i <= 4; ++i) { + output = String(n % 256) + output; + if (i !== 4) { + output = "." + output; + } + n = Math.floor(n / 256); + } + + return output; +} + +function parseIPv6(input) { + const address = [0, 0, 0, 0, 0, 0, 0, 0]; + let pieceIndex = 0; + let compress = null; + let pointer = 0; + + input = punycode.ucs2.decode(input); + + if (input[pointer] === 58) { + if (input[pointer + 1] !== 58) { + return failure; + } + + pointer += 2; + ++pieceIndex; + compress = pieceIndex; + } + + while (pointer < input.length) { + if (pieceIndex === 8) { + return failure; + } + + if (input[pointer] === 58) { + if (compress !== null) { + return failure; + } + ++pointer; + ++pieceIndex; + compress = pieceIndex; + continue; + } + + let value = 0; + let length = 0; + + while (length < 4 && isASCIIHex(input[pointer])) { + value = value * 0x10 + parseInt(at(input, pointer), 16); + ++pointer; + ++length; + } + + if (input[pointer] === 46) { + if (length === 0) { + return failure; + } + + pointer -= length; + + if (pieceIndex > 6) { + return failure; + } + + let numbersSeen = 0; + + while (input[pointer] !== undefined) { + let ipv4Piece = null; + + if (numbersSeen > 0) { + if (input[pointer] === 46 && numbersSeen < 4) { + ++pointer; + } else { + return failure; + } + } + + if (!isASCIIDigit(input[pointer])) { + return failure; + } + + while (isASCIIDigit(input[pointer])) { + const number = parseInt(at(input, pointer)); + if (ipv4Piece === null) { + ipv4Piece = number; + } else if (ipv4Piece === 0) { + return failure; + } else { + ipv4Piece = ipv4Piece * 10 + number; + } + if (ipv4Piece > 255) { + return failure; + } + ++pointer; + } + + address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; + + ++numbersSeen; + + if (numbersSeen === 2 || numbersSeen === 4) { + ++pieceIndex; + } + } + + if (numbersSeen !== 4) { + return failure; + } + + break; + } else if (input[pointer] === 58) { + ++pointer; + if (input[pointer] === undefined) { + return failure; + } + } else if (input[pointer] !== undefined) { + return failure; + } + + address[pieceIndex] = value; + ++pieceIndex; + } + + if (compress !== null) { + let swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + const temp = address[compress + swaps - 1]; + address[compress + swaps - 1] = address[pieceIndex]; + address[pieceIndex] = temp; + --pieceIndex; + --swaps; + } + } else if (compress === null && pieceIndex !== 8) { + return failure; + } + + return address; +} + +function serializeIPv6(address) { + let output = ""; + const seqResult = findLongestZeroSequence(address); + const compress = seqResult.idx; + let ignore0 = false; + + for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { + if (ignore0 && address[pieceIndex] === 0) { + continue; + } else if (ignore0) { + ignore0 = false; + } + + if (compress === pieceIndex) { + const separator = pieceIndex === 0 ? "::" : ":"; + output += separator; + ignore0 = true; + continue; + } + + output += address[pieceIndex].toString(16); + + if (pieceIndex !== 7) { + output += ":"; + } + } + + return output; +} + +function parseHost(input, isSpecialArg) { + if (input[0] === "[") { + if (input[input.length - 1] !== "]") { + return failure; + } + + return parseIPv6(input.substring(1, input.length - 1)); + } + + if (!isSpecialArg) { + return parseOpaqueHost(input); + } + + const domain = utf8PercentDecode(input); + const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); + if (asciiDomain === null) { + return failure; + } + + if (containsForbiddenHostCodePoint(asciiDomain)) { + return failure; + } + + const ipv4Host = parseIPv4(asciiDomain); + if (typeof ipv4Host === "number" || ipv4Host === failure) { + return ipv4Host; + } + + return asciiDomain; +} + +function parseOpaqueHost(input) { + if (containsForbiddenHostCodePointExcludingPercent(input)) { + return failure; + } + + let output = ""; + const decoded = punycode.ucs2.decode(input); + for (let i = 0; i < decoded.length; ++i) { + output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); + } + return output; +} + +function findLongestZeroSequence(arr) { + let maxIdx = null; + let maxLen = 1; // only find elements > 1 + let currStart = null; + let currLen = 0; + + for (let i = 0; i < arr.length; ++i) { + if (arr[i] !== 0) { + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + currStart = null; + currLen = 0; + } else { + if (currStart === null) { + currStart = i; + } + ++currLen; + } + } + + // if trailing zeros + if (currLen > maxLen) { + maxIdx = currStart; + maxLen = currLen; + } + + return { + idx: maxIdx, + len: maxLen + }; +} + +function serializeHost(host) { + if (typeof host === "number") { + return serializeIPv4(host); + } + + // IPv6 serializer + if (host instanceof Array) { + return "[" + serializeIPv6(host) + "]"; + } + + return host; +} + +function trimControlChars(url) { + return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); +} + +function trimTabAndNewline(url) { + return url.replace(/\u0009|\u000A|\u000D/g, ""); +} + +function shortenPath(url) { + const path = url.path; + if (path.length === 0) { + return; + } + if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { + return; + } + + path.pop(); +} + +function includesCredentials(url) { + return url.username !== "" || url.password !== ""; +} + +function cannotHaveAUsernamePasswordPort(url) { + return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; +} + +function isNormalizedWindowsDriveLetter(string) { + return /^[A-Za-z]:$/.test(string); +} + +function URLStateMachine(input, base, encodingOverride, url, stateOverride) { + this.pointer = 0; + this.input = input; + this.base = base || null; + this.encodingOverride = encodingOverride || "utf-8"; + this.stateOverride = stateOverride; + this.url = url; + this.failure = false; + this.parseError = false; + + if (!this.url) { + this.url = { + scheme: "", + username: "", + password: "", + host: null, + port: null, + path: [], + query: null, + fragment: null, + + cannotBeABaseURL: false + }; + + const res = trimControlChars(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + } + + const res = trimTabAndNewline(this.input); + if (res !== this.input) { + this.parseError = true; + } + this.input = res; + + this.state = stateOverride || "scheme start"; + + this.buffer = ""; + this.atFlag = false; + this.arrFlag = false; + this.passwordTokenSeenFlag = false; + + this.input = punycode.ucs2.decode(this.input); + + for (; this.pointer <= this.input.length; ++this.pointer) { + const c = this.input[this.pointer]; + const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); + + // exec state machine + const ret = this["parse " + this.state](c, cStr); + if (!ret) { + break; // terminate algorithm + } else if (ret === failure) { + this.failure = true; + break; + } + } +} + +URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { + if (isASCIIAlpha(c)) { + this.buffer += cStr.toLowerCase(); + this.state = "scheme"; + } else if (!this.stateOverride) { + this.state = "no scheme"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { + if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { + this.buffer += cStr.toLowerCase(); + } else if (c === 58) { + if (this.stateOverride) { + if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { + return false; + } + + if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { + return false; + } + + if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { + return false; + } + + if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { + return false; + } + } + this.url.scheme = this.buffer; + this.buffer = ""; + if (this.stateOverride) { + return false; + } + if (this.url.scheme === "file") { + if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { + this.parseError = true; + } + this.state = "file"; + } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { + this.state = "special relative or authority"; + } else if (isSpecial(this.url)) { + this.state = "special authority slashes"; + } else if (this.input[this.pointer + 1] === 47) { + this.state = "path or authority"; + ++this.pointer; + } else { + this.url.cannotBeABaseURL = true; + this.url.path.push(""); + this.state = "cannot-be-a-base-URL path"; + } + } else if (!this.stateOverride) { + this.buffer = ""; + this.state = "no scheme"; + this.pointer = -1; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { + if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { + return failure; + } else if (this.base.cannotBeABaseURL && c === 35) { + this.url.scheme = this.base.scheme; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.url.cannotBeABaseURL = true; + this.state = "fragment"; + } else if (this.base.scheme === "file") { + this.state = "file"; + --this.pointer; + } else { + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "relative"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { + if (c === 47) { + this.state = "authority"; + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative"] = function parseRelative(c) { + this.url.scheme = this.base.scheme; + if (isNaN(c)) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 47) { + this.state = "relative slash"; + } else if (c === 63) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else if (isSpecial(this.url) && c === 92) { + this.parseError = true; + this.state = "relative slash"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.url.path = this.base.path.slice(0, this.base.path.length - 1); + + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { + if (isSpecial(this.url) && (c === 47 || c === 92)) { + if (c === 92) { + this.parseError = true; + } + this.state = "special authority ignore slashes"; + } else if (c === 47) { + this.state = "authority"; + } else { + this.url.username = this.base.username; + this.url.password = this.base.password; + this.url.host = this.base.host; + this.url.port = this.base.port; + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { + if (c === 47 && this.input[this.pointer + 1] === 47) { + this.state = "special authority ignore slashes"; + ++this.pointer; + } else { + this.parseError = true; + this.state = "special authority ignore slashes"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { + if (c !== 47 && c !== 92) { + this.state = "authority"; + --this.pointer; + } else { + this.parseError = true; + } + + return true; +}; + +URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { + if (c === 64) { + this.parseError = true; + if (this.atFlag) { + this.buffer = "%40" + this.buffer; + } + this.atFlag = true; + + // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars + const len = countSymbols(this.buffer); + for (let pointer = 0; pointer < len; ++pointer) { + const codePoint = this.buffer.codePointAt(pointer); + + if (codePoint === 58 && !this.passwordTokenSeenFlag) { + this.passwordTokenSeenFlag = true; + continue; + } + const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); + if (this.passwordTokenSeenFlag) { + this.url.password += encodedCodePoints; + } else { + this.url.username += encodedCodePoints; + } + } + this.buffer = ""; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + if (this.atFlag && this.buffer === "") { + this.parseError = true; + return failure; + } + this.pointer -= countSymbols(this.buffer) + 1; + this.buffer = ""; + this.state = "host"; + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse hostname"] = +URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { + if (this.stateOverride && this.url.scheme === "file") { + --this.pointer; + this.state = "file host"; + } else if (c === 58 && !this.arrFlag) { + if (this.buffer === "") { + this.parseError = true; + return failure; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "port"; + if (this.stateOverride === "hostname") { + return false; + } + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92)) { + --this.pointer; + if (isSpecial(this.url) && this.buffer === "") { + this.parseError = true; + return failure; + } else if (this.stateOverride && this.buffer === "" && + (includesCredentials(this.url) || this.url.port !== null)) { + this.parseError = true; + return false; + } + + const host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + + this.url.host = host; + this.buffer = ""; + this.state = "path start"; + if (this.stateOverride) { + return false; + } + } else { + if (c === 91) { + this.arrFlag = true; + } else if (c === 93) { + this.arrFlag = false; + } + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { + if (isASCIIDigit(c)) { + this.buffer += cStr; + } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || + (isSpecial(this.url) && c === 92) || + this.stateOverride) { + if (this.buffer !== "") { + const port = parseInt(this.buffer); + if (port > Math.pow(2, 16) - 1) { + this.parseError = true; + return failure; + } + this.url.port = port === defaultPort(this.url.scheme) ? null : port; + this.buffer = ""; + } + if (this.stateOverride) { + return false; + } + this.state = "path start"; + --this.pointer; + } else { + this.parseError = true; + return failure; + } + + return true; +}; + +const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); + +URLStateMachine.prototype["parse file"] = function parseFile(c) { + this.url.scheme = "file"; + + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file slash"; + } else if (this.base !== null && this.base.scheme === "file") { + if (isNaN(c)) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + } else if (c === 63) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + this.url.query = this.base.query; + this.url.fragment = ""; + this.state = "fragment"; + } else { + if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points + !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || + (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points + !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { + this.url.host = this.base.host; + this.url.path = this.base.path.slice(); + shortenPath(this.url); + } else { + this.parseError = true; + } + + this.state = "path"; + --this.pointer; + } + } else { + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { + if (c === 47 || c === 92) { + if (c === 92) { + this.parseError = true; + } + this.state = "file host"; + } else { + if (this.base !== null && this.base.scheme === "file") { + if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { + this.url.path.push(this.base.path[0]); + } else { + this.url.host = this.base.host; + } + } + this.state = "path"; + --this.pointer; + } + + return true; +}; + +URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { + if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { + --this.pointer; + if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { + this.parseError = true; + this.state = "path"; + } else if (this.buffer === "") { + this.url.host = ""; + if (this.stateOverride) { + return false; + } + this.state = "path start"; + } else { + let host = parseHost(this.buffer, isSpecial(this.url)); + if (host === failure) { + return failure; + } + if (host === "localhost") { + host = ""; + } + this.url.host = host; + + if (this.stateOverride) { + return false; + } + + this.buffer = ""; + this.state = "path start"; + } + } else { + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { + if (isSpecial(this.url)) { + if (c === 92) { + this.parseError = true; + } + this.state = "path"; + + if (c !== 47 && c !== 92) { + --this.pointer; + } + } else if (!this.stateOverride && c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (!this.stateOverride && c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else if (c !== undefined) { + this.state = "path"; + if (c !== 47) { + --this.pointer; + } + } + + return true; +}; + +URLStateMachine.prototype["parse path"] = function parsePath(c) { + if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || + (!this.stateOverride && (c === 63 || c === 35))) { + if (isSpecial(this.url) && c === 92) { + this.parseError = true; + } + + if (isDoubleDot(this.buffer)) { + shortenPath(this.url); + if (c !== 47 && !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } + } else if (isSingleDot(this.buffer) && c !== 47 && + !(isSpecial(this.url) && c === 92)) { + this.url.path.push(""); + } else if (!isSingleDot(this.buffer)) { + if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { + if (this.url.host !== "" && this.url.host !== null) { + this.parseError = true; + this.url.host = ""; + } + this.buffer = this.buffer[0] + ":"; + } + this.url.path.push(this.buffer); + } + this.buffer = ""; + if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { + while (this.url.path.length > 1 && this.url.path[0] === "") { + this.parseError = true; + this.url.path.shift(); + } + } + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += percentEncodeChar(c, isPathPercentEncode); + } + + return true; +}; + +URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { + if (c === 63) { + this.url.query = ""; + this.state = "query"; + } else if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } else { + // TODO: Add: not a URL code point + if (!isNaN(c) && c !== 37) { + this.parseError = true; + } + + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + if (!isNaN(c)) { + this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); + } + } + + return true; +}; + +URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { + if (isNaN(c) || (!this.stateOverride && c === 35)) { + if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { + this.encodingOverride = "utf-8"; + } + + const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead + for (let i = 0; i < buffer.length; ++i) { + if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || + buffer[i] === 0x3C || buffer[i] === 0x3E) { + this.url.query += percentEncode(buffer[i]); + } else { + this.url.query += String.fromCodePoint(buffer[i]); + } + } + + this.buffer = ""; + if (c === 35) { + this.url.fragment = ""; + this.state = "fragment"; + } + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.buffer += cStr; + } + + return true; +}; + +URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { + if (isNaN(c)) { // do nothing + } else if (c === 0x0) { + this.parseError = true; + } else { + // TODO: If c is not a URL code point and not "%", parse error. + if (c === 37 && + (!isASCIIHex(this.input[this.pointer + 1]) || + !isASCIIHex(this.input[this.pointer + 2]))) { + this.parseError = true; + } + + this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); + } + + return true; +}; + +function serializeURL(url, excludeFragment) { + let output = url.scheme + ":"; + if (url.host !== null) { + output += "//"; + + if (url.username !== "" || url.password !== "") { + output += url.username; + if (url.password !== "") { + output += ":" + url.password; + } + output += "@"; + } + + output += serializeHost(url.host); + + if (url.port !== null) { + output += ":" + url.port; + } + } else if (url.host === null && url.scheme === "file") { + output += "//"; + } + + if (url.cannotBeABaseURL) { + output += url.path[0]; + } else { + for (const string of url.path) { + output += "/" + string; + } + } + + if (url.query !== null) { + output += "?" + url.query; + } + + if (!excludeFragment && url.fragment !== null) { + output += "#" + url.fragment; + } + + return output; +} + +function serializeOrigin(tuple) { + let result = tuple.scheme + "://"; + result += serializeHost(tuple.host); + + if (tuple.port !== null) { + result += ":" + tuple.port; + } + + return result; +} + +module.exports.serializeURL = serializeURL; + +module.exports.serializeURLOrigin = function (url) { + // https://url.spec.whatwg.org/#concept-url-origin + switch (url.scheme) { + case "blob": + try { + return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); + } catch (e) { + // serializing an opaque origin returns "null" + return "null"; + } + case "ftp": + case "gopher": + case "http": + case "https": + case "ws": + case "wss": + return serializeOrigin({ + scheme: url.scheme, + host: url.host, + port: url.port + }); + case "file": + // spec says "exercise to the reader", chrome says "file://" + return "file://"; + default: + // serializing an opaque origin returns "null" + return "null"; + } +}; + +module.exports.basicURLParse = function (input, options) { + if (options === undefined) { + options = {}; + } + + const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); + if (usm.failure) { + return "failure"; + } + + return usm.url; +}; + +module.exports.setTheUsername = function (url, username) { + url.username = ""; + const decoded = punycode.ucs2.decode(username); + for (let i = 0; i < decoded.length; ++i) { + url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.setThePassword = function (url, password) { + url.password = ""; + const decoded = punycode.ucs2.decode(password); + for (let i = 0; i < decoded.length; ++i) { + url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); + } +}; + +module.exports.serializeHost = serializeHost; + +module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; + +module.exports.serializeInteger = function (integer) { + return String(integer); +}; + +module.exports.parseURL = function (input, options) { + if (options === undefined) { + options = {}; + } + + // We don't handle blobs, so this just delegates: + return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); +}; + + +/***/ }), + +/***/ 3185: +/***/ ((module) => { + +"use strict"; + + +module.exports.mixin = function mixin(target, source) { + const keys = Object.getOwnPropertyNames(source); + for (let i = 0; i < keys.length; ++i) { + Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); + } +}; + +module.exports.wrapperSymbol = Symbol("wrapper"); +module.exports.implSymbol = Symbol("impl"); + +module.exports.wrapperForImpl = function (impl) { + return impl[module.exports.wrapperSymbol]; +}; + +module.exports.implForWrapper = function (wrapper) { + return wrapper[module.exports.implSymbol]; +}; + + + +/***/ }), + +/***/ 2940: +/***/ ((module) => { + +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} + + +/***/ }), + +/***/ 2877: +/***/ ((module) => { + +module.exports = eval("require")("encoding"); + + +/***/ }), + +/***/ 9491: +/***/ ((module) => { + +"use strict"; +module.exports = require("assert"); + +/***/ }), + +/***/ 2081: +/***/ ((module) => { + +"use strict"; +module.exports = require("child_process"); + +/***/ }), + +/***/ 6113: +/***/ ((module) => { + +"use strict"; +module.exports = require("crypto"); + +/***/ }), + +/***/ 2361: +/***/ ((module) => { + +"use strict"; +module.exports = require("events"); + +/***/ }), + +/***/ 7147: +/***/ ((module) => { + +"use strict"; +module.exports = require("fs"); + +/***/ }), + +/***/ 3685: +/***/ ((module) => { + +"use strict"; +module.exports = require("http"); + +/***/ }), + +/***/ 5687: +/***/ ((module) => { + +"use strict"; +module.exports = require("https"); + +/***/ }), + +/***/ 1808: +/***/ ((module) => { + +"use strict"; +module.exports = require("net"); + +/***/ }), + +/***/ 2037: +/***/ ((module) => { + +"use strict"; +module.exports = require("os"); + +/***/ }), + +/***/ 1017: +/***/ ((module) => { + +"use strict"; +module.exports = require("path"); + +/***/ }), + +/***/ 5477: +/***/ ((module) => { + +"use strict"; +module.exports = require("punycode"); + +/***/ }), + +/***/ 2781: +/***/ ((module) => { + +"use strict"; +module.exports = require("stream"); + +/***/ }), + +/***/ 4404: +/***/ ((module) => { + +"use strict"; +module.exports = require("tls"); + +/***/ }), + +/***/ 7310: +/***/ ((module) => { + +"use strict"; +module.exports = require("url"); + +/***/ }), + +/***/ 3837: +/***/ ((module) => { + +"use strict"; +module.exports = require("util"); + +/***/ }), + +/***/ 9796: +/***/ ((module) => { + +"use strict"; +module.exports = require("zlib"); + +/***/ }), + +/***/ 1542: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}'); + +/***/ }), + +/***/ 2020: +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]'); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __nccwpck_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ var threw = true; +/******/ try { +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nccwpck_require__); +/******/ threw = false; +/******/ } finally { +/******/ if(threw) delete __webpack_module_cache__[moduleId]; +/******/ } +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat */ +/******/ +/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/"; +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module is referenced by other modules so it can't be inlined +/******/ var __webpack_exports__ = __nccwpck_require__(3109); +/******/ module.exports = __webpack_exports__; +/******/ +/******/ })() +; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 00000000..97082b02 --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACllCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;AEDA;AACA;AACA;AACA","sources":["../webpack://slo-tests/./lib/callExecutables.js","../webpack://slo-tests/./lib/checkResults.js","../webpack://slo-tests/./lib/cluster.js","../webpack://slo-tests/./lib/errorScheduler.js","../webpack://slo-tests/./lib/getInfrastractureEndpoints.js","../webpack://slo-tests/./lib/grafanaScreenshot.js","../webpack://slo-tests/./lib/main.js","../webpack://slo-tests/./lib/mutex.js","../webpack://slo-tests/./lib/parseArguments.js","../webpack://slo-tests/./lib/utils/groupDecorator.js","../webpack://slo-tests/./lib/utils/retry.js","../webpack://slo-tests/./lib/utils/withTimeout.js","../webpack://slo-tests/./lib/workload.js","../webpack://slo-tests/./node_modules/@actions/core/lib/command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/core.js","../webpack://slo-tests/./node_modules/@actions/core/lib/file-command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/path-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/summary.js","../webpack://slo-tests/./node_modules/@actions/core/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/context.js","../webpack://slo-tests/./node_modules/@actions/github/lib/github.js","../webpack://slo-tests/./node_modules/@actions/github/lib/internal/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/auth.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/index.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/proxy.js","../webpack://slo-tests/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/core/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request/dist-node/index.js","../webpack://slo-tests/./node_modules/before-after-hook/index.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/add.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/register.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/remove.js","../webpack://slo-tests/./node_modules/deprecation/dist-node/index.js","../webpack://slo-tests/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://slo-tests/./node_modules/node-fetch/lib/index.js","../webpack://slo-tests/./node_modules/once/once.js","../webpack://slo-tests/./node_modules/tr46/index.js","../webpack://slo-tests/./node_modules/tunnel/index.js","../webpack://slo-tests/./node_modules/tunnel/lib/tunnel.js","../webpack://slo-tests/./node_modules/universal-user-agent/dist-node/index.js","../webpack://slo-tests/./node_modules/uuid/dist/index.js","../webpack://slo-tests/./node_modules/uuid/dist/md5.js","../webpack://slo-tests/./node_modules/uuid/dist/nil.js","../webpack://slo-tests/./node_modules/uuid/dist/parse.js","../webpack://slo-tests/./node_modules/uuid/dist/regex.js","../webpack://slo-tests/./node_modules/uuid/dist/rng.js","../webpack://slo-tests/./node_modules/uuid/dist/sha1.js","../webpack://slo-tests/./node_modules/uuid/dist/stringify.js","../webpack://slo-tests/./node_modules/uuid/dist/v1.js","../webpack://slo-tests/./node_modules/uuid/dist/v3.js","../webpack://slo-tests/./node_modules/uuid/dist/v35.js","../webpack://slo-tests/./node_modules/uuid/dist/v4.js","../webpack://slo-tests/./node_modules/uuid/dist/v5.js","../webpack://slo-tests/./node_modules/uuid/dist/validate.js","../webpack://slo-tests/./node_modules/uuid/dist/version.js","../webpack://slo-tests/./node_modules/webidl-conversions/lib/index.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/public-api.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/utils.js","../webpack://slo-tests/./node_modules/wrappy/wrappy.js","../webpack://slo-tests/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://slo-tests/external node-commonjs \"assert\"","../webpack://slo-tests/external node-commonjs \"child_process\"","../webpack://slo-tests/external node-commonjs \"crypto\"","../webpack://slo-tests/external node-commonjs \"events\"","../webpack://slo-tests/external node-commonjs \"fs\"","../webpack://slo-tests/external node-commonjs \"http\"","../webpack://slo-tests/external node-commonjs \"https\"","../webpack://slo-tests/external node-commonjs \"net\"","../webpack://slo-tests/external node-commonjs \"os\"","../webpack://slo-tests/external node-commonjs \"path\"","../webpack://slo-tests/external node-commonjs \"punycode\"","../webpack://slo-tests/external node-commonjs \"stream\"","../webpack://slo-tests/external node-commonjs \"tls\"","../webpack://slo-tests/external node-commonjs \"url\"","../webpack://slo-tests/external node-commonjs \"util\"","../webpack://slo-tests/external node-commonjs \"zlib\"","../webpack://slo-tests/webpack/bootstrap","../webpack://slo-tests/webpack/runtime/compat","../webpack://slo-tests/webpack/before-startup","../webpack://slo-tests/webpack/startup","../webpack://slo-tests/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst child_process_1 = require(\"child_process\");\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nconst path_1 = __importDefault(require(\"path\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nlet kubectlPath = null;\nlet callId = 0;\nfunction prepareK8S(base64kubeconfig) {\n return (0, groupDecorator_1.logGroup)('Prepare k8s', () => {\n // create ~/.kube folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add kubeconfig\n if (base64kubeconfig.length > 0) {\n core.debug('Get kubeconfig string');\n const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8');\n core.info(`Write kubeconfig to ~/.kube/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig);\n }\n kubectlPath = call('which kubectl').split('\\n')[0];\n core.info(`kubectl path: ${kubectlPath}`);\n });\n}\nexports.prepareK8S = prepareK8S;\nfunction prepareAWS(awsCredentialsB64, awsConfigB64) {\n // create ~/.aws folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add awsCredentials\n if (awsCredentialsB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8');\n core.info(`Write awsCredentials to ~/.aws/credentials`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials);\n }\n // add awsConfig\n if (awsConfigB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8');\n core.info(`Write awsConfig to ~/.aws/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig);\n }\n}\nexports.prepareAWS = prepareAWS;\nfunction call(command, secret = false) {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' });\n core.debug(`Call #${id} result ${spawnResult}`);\n return spawnResult;\n}\nexports.call = call;\nfunction callAsync(command, secret = false, cwd = '.') {\n return new Promise((resolve, reject) => {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd });\n if (!proc.stdio || !proc.stdout || !proc.stderr) {\n core.info(`Error in callAsync #${id}: can't spawn process`);\n throw new Error(`Error in callAsync #${id}: can't spawn process`);\n }\n let out = '', err = '';\n proc.stdout.on('data', data => (out += data.toString()));\n proc.stderr.on('data', data => (err += data.toString()));\n proc.on('close', code => {\n core.debug(`Call #${id} async code = ${code}`);\n if (code == 0) {\n core.debug(`Call #${id} async output \\n${out}`);\n resolve(out);\n }\n else {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on close`);\n else\n core.debug(`Call #${id} async failed - on close:\\n${err}`);\n reject(new Error(err));\n }\n });\n proc.on('error', err => {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on error`);\n else\n core.debug(`Call #${id} async failed - on error:\\n${err}`);\n reject(err);\n });\n });\n}\nexports.callAsync = callAsync;\nfunction callKubernetes(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(`${kubectlPath} ${command}`);\n}\nexports.callKubernetes = callKubernetes;\nfunction callKubernetesPath(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPath = callKubernetesPath;\nfunction callKubernetesAsync(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(`${kubectlPath} ${command}`);\n}\nexports.callKubernetesAsync = callKubernetesAsync;\nfunction callKubernetesPathAsync(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPathAsync = callKubernetesPathAsync;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nfunction getUUID() {\n const hexstring = crypto_1.default.randomBytes(16).toString('hex');\n return (hexstring.substring(0, 8) +\n '-' +\n hexstring.substring(8, 12) +\n '-' +\n hexstring.substring(12, 16) +\n '-' +\n hexstring.substring(16, 20) +\n '-' +\n hexstring.substring(20));\n}\nexports.getUUID = getUUID;\nfunction getDataFromGrafana(fromDate, toDate, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = {\n queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, \n // requestId: `Q-${getUUID()}-${i}`,\n interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: {\n type: 'prometheus',\n uid: 'prometheus'\n }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))),\n range: {\n from: fromDate.toISOString(),\n to: toDate.toISOString(),\n raw: {\n from: fromDate.toISOString(),\n to: toDate.toISOString()\n }\n },\n from: '' + fromDate.valueOf(),\n to: '' + toDate.valueOf()\n };\n let requestId = data.queries.reduce((acc, v) => (acc += v.key), '');\n data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q)));\n let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`;\n busyboxCmd = busyboxCmd.replace(/'/g, \"'\\\\''\");\n core.debug(`getDataFromGrafana kube request:\\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`);\n return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8');\n });\n}\nexports.getDataFromGrafana = getDataFromGrafana;\nfunction parseRawGraph(dataString) {\n const data = JSON.parse(dataString);\n core.debug('Parsed JSON graph data ' + JSON.stringify(data));\n const keys = Object.keys(data.results);\n core.debug('Process graph data');\n return keys.reduce((acc, k) => {\n acc[k] = data.results[k].frames.map((f) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0],\n labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels\n });\n });\n return acc;\n }, {});\n}\nexports.parseRawGraph = parseRawGraph;\nfunction filterGraphData(filter) {\n return function filterGraphFun(result) {\n return Object.entries(filter).reduce((prev, filt) => {\n return prev && result.labels[filt[0]] === filt[1];\n }, true);\n };\n}\nexports.filterGraphData = filterGraphData;\nfunction checkGraphValues(workloadId, realResults, desiredResults) {\n // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]}\n let checks = [];\n for (const queryName of Object.keys(desiredResults)) {\n const result = realResults[queryName];\n const desired = desiredResults[queryName];\n for (const desiredRes of desired) {\n const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter);\n let inspected = (result || []).filter(filterGraphData(filter));\n const checkName = `${queryName}${JSON.stringify(filter)}`;\n if (inspected.length === 0) {\n checks.push([\n checkName,\n 'notfound',\n `Not found results by filter to inspect`\n ]);\n }\n else {\n for (const [i, inspectedRes] of Object.entries(inspected)) {\n const decision = desiredRes.value[0] === '>'\n ? inspectedRes.value > desiredRes.value[1]\n : inspectedRes.value < desiredRes.value[1];\n checks.push([\n `${checkName}[${i}]`,\n decision ? 'ok' : 'error',\n `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}`\n ]);\n }\n }\n }\n }\n return checks;\n}\nexports.checkGraphValues = checkGraphValues;\nfunction checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n core.info('Check results');\n core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`);\n if (!queries)\n queries = [\n {\n refId: 'success_rate',\n expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0',\n interval: '1s'\n },\n {\n refId: 'max_99_latency',\n expr: 'max_over_time(latency{quantile=\"0.99\"}[$__range])>0',\n interval: ''\n },\n {\n refId: 'fail_interval',\n expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0',\n interval: '1s'\n }\n ];\n const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () {\n const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries);\n core.debug('graphsRaw: ' + graphsRaw);\n return parseRawGraph(graphsRaw);\n }));\n core.debug('parsed: ' + JSON.stringify(parsed));\n const checks = checkGraphValues(workloadId, parsed, desiredResults);\n for (let i = 0; i < checks.length; i++) {\n const conclusion = checks[i][1] === 'error'\n ? 'failure'\n : checks[i][1] === 'notfound'\n ? 'neutral'\n : 'success';\n const checkParams = {\n owner: github.context.repo.owner,\n repo: github.context.repo.repo,\n name: `slo_check_${checks[i][0]}`,\n status: 'completed',\n conclusion: conclusion,\n output: {\n title: `SLO results check #${0}`,\n summary: checks[i][2],\n text: checks[i][2]\n }\n };\n yield octokit.rest.checks.create(checkParams);\n }\n return checks.filter(ch => ch[1] == 'error').length > 0;\n });\n}\nexports.checkResults = checkResults;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst callExecutables_1 = require(\"./callExecutables\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nlet databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content;\nlet storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content;\n/**\n * Create cluster with selected version\n * @param version YDB docker version\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction createCluster(version = '23.1.19', timeout, checkPeriod = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () {\n databaseManifest = databaseManifest.replace('${{VERSION}}', version);\n storageManifest = storageManifest.replace('${{VERSION}}', version);\n core.debug('database manifest:\\n\\n' + databaseManifest);\n core.debug('storage manifest:\\n\\n' + storageManifest);\n core.info('Apply database and storage manifests');\n core.info('storage apply result:\\n' +\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n core.debug('check status of cluster');\n const databaseStatus = getStatus('database');\n const storageStatus = getStatus('storage');\n core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`);\n if (databaseStatus !== lastDatabaseStatus) {\n core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`);\n lastDatabaseStatus = databaseStatus;\n }\n if (storageStatus !== lastStorageStatus) {\n core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`);\n lastStorageStatus = storageStatus;\n }\n if (databaseStatus === 'Ready' && storageStatus === 'Ready')\n return true;\n return false;\n }));\n }));\n });\n}\nexports.createCluster = createCluster;\nfunction getYdbVersions() {\n return (0, groupDecorator_1.logGroup)('Get versions', () => {\n const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb');\n const versions = versionsString.split('\\n').filter(s => s.length > 0);\n versions.sort();\n return versions;\n });\n}\nexports.getYdbVersions = getYdbVersions;\nfunction getStatus(statusOf) {\n const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`);\n return JSON.parse(res).state;\n}\nfunction deleteCluster() {\n return (0, groupDecorator_1.logGroup)('Delete cluster', () => {\n core.info('Delete database and storage manifests');\n try {\n core.info('Database delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample'));\n }\n catch (error) {\n core.info('Error while deleting database' + JSON.stringify(error));\n }\n try {\n core.info('Storage delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample'));\n }\n catch (error) {\n core.info('Error while deleting storage' + JSON.stringify(error));\n }\n try {\n const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath=\"{.items[*].metadata.name}\" -l ydb-cluster=slo-storage');\n core.debug('pvcs' + pvcs);\n core.info('PVC delete result:\\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`));\n }\n catch (error) {\n core.info('Error while deleting pvcs' + JSON.stringify(error));\n }\n });\n}\nexports.deleteCluster = deleteCluster;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.annotate = exports.errorScheduler = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nlet grafanaPod = null;\nfunction errorScheduler(grafanaPodName, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n // get database target's IP\n const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\\n')[0];\n core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`);\n // get grafana pod name\n grafanaPod = grafanaPodName;\n core.info(`Grafana pod name: ${grafanaPod}`);\n // wait until workload start?\n // what is workload to wait to start for?\n // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => {\n // const status = JSON.parse(\n // await callKubernetesAsync(\n // `get job/${workloadId}-wl-run -o=jsonpath={.status}`\n // )\n // )\n // if(status?.phase === 'Running') return true\n // return false\n // })\n yield new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n });\n const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` +\n ` sh -c \"wget -q -O- '${targetIP}:8765/tablets/app?` +\n `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' \"`;\n // freeze\n yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS);\n // unfreeze\n yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS);\n // delete pod\n yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS);\n // force delete pod\n yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS);\n // kill from inside\n yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c \"kill -2 1 && echo 'process killed'\"`, timeBetweenS);\n // TODO: add process sleep\n });\n}\nexports.errorScheduler = errorScheduler;\nfunction createError(name, kubeCommand, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Promise.allSettled([\n // run command\n (0, callExecutables_1.callKubernetesAsync)(kubeCommand),\n // annotate\n annotate(name),\n // wait till next\n new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n })\n ]).then(v => {\n if (v.filter(p => p.status === 'rejected').length > 0)\n return Promise.reject('Error in YDB error creation');\n });\n });\n}\n// no tags, but possible to add if needed\nfunction annotate(text, dashboardUID = '7CzMl5t4k') {\n const annotationsUrl = 'http://localhost:3000/api/annotations';\n const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`;\n const data = `{\\\\\"dashboardUID\\\\\":\\\\\"${dashboardUID}\\\\\", \\\\\"text\\\\\":\\\\\"${text}\\\\\", \\\\\"tags\\\\\":[]}`;\n return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c \"${createWgetPost(annotationsUrl, data)}\"`);\n}\nexports.annotate = annotate;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfrastractureEndpoints = void 0;\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nfunction getInfrastractureEndpoints() {\n return __awaiter(this, void 0, void 0, function* () {\n const services = [\n 'prometheus-operator',\n 'prometheus',\n 'prometheus-pushgateway',\n 'grafana',\n 'grafana-renderer',\n 'ydb-operator'\n ];\n return Promise.allSettled(services.map(getEndpoint)).then(res => {\n const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected');\n if (servicesWithoutPods.length > 0) {\n throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`);\n }\n return {\n prometheusOperator: res[0].value,\n prometheus: res[1].value,\n prometheusPushgateway: res[2].value,\n grafana: res[3].value,\n grafanaRenderer: res[4].value,\n ydbOperator: res[5].value\n };\n });\n });\n}\nexports.getInfrastractureEndpoints = getInfrastractureEndpoints;\nfunction getEndpoint(kubeName) {\n return (0, retry_1.retry)(2, () => {\n return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l \"app.kubernetes.io/name=${kubeName}\" -o jsonpath=\"{.items[0].metadata.name}\"`).then(s => s.split('\\n')[0]));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postComment = exports.grafanaScreenshot = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst callExecutables_1 = require(\"./callExecutables\");\nfunction grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`);\n const query = `http://grafana/render/d/${dashboard}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`;\n core.debug('grafana query: ' + query);\n const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c \"wget -q -O- '${query}' | base64\"`);\n core.debug('grafana imageb64: ' +\n imageb64.slice(0, 100) +\n '...TRUNCATED...' +\n imageb64.slice(-100));\n // write image to fs\n yield (0, callExecutables_1.callAsync)(`echo \"${imageb64}\" | base64 --decode > pic.png`);\n const pictureName = `${workloadId}-${new Date().valueOf()}.png`;\n // upload\n yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png \"s3://${path_1.default.join(s3Folder, pictureName)}\"`);\n // delete\n yield (0, callExecutables_1.callAsync)(`rm pic.png`);\n // return name\n const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName);\n core.debug('fullPictureUri: ' + fullPictureUri);\n return `${fullPictureUri}`;\n });\n}\nexports.grafanaScreenshot = grafanaScreenshot;\nfunction postComment(octokit, id, message) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!github_1.context.payload.pull_request)\n return;\n const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message });\n try {\n yield octokit.rest.issues.createComment(data);\n }\n catch (error) {\n yield octokit.rest.issues.updateComment(data);\n }\n });\n}\nexports.postComment = postComment;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst parseArguments_1 = require(\"./parseArguments\");\nconst callExecutables_1 = require(\"./callExecutables\");\nconst mutex_1 = require(\"./mutex\");\nconst cluster_1 = require(\"./cluster\");\nconst workload_1 = require(\"./workload\");\nconst getInfrastractureEndpoints_1 = require(\"./getInfrastractureEndpoints\");\nconst errorScheduler_1 = require(\"./errorScheduler\");\nconst retry_1 = require(\"./utils/retry\");\nconst checkResults_1 = require(\"./checkResults\");\nconst grafanaScreenshot_1 = require(\"./grafanaScreenshot\");\nconst crypto_1 = require(\"crypto\");\nconst isPullRequest = !!github.context.payload.pull_request;\nfunction main() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)();\n core.debug(`Setting up OctoKit`);\n const octokit = github.getOctokit(githubToken);\n (0, callExecutables_1.prepareK8S)(kubeconfig);\n (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig);\n yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword);\n // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer\n const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)();\n core.info(`Services pods: ${JSON.stringify(servicesPods)}`);\n core.info('Run SLO tests for: \\n' +\n workloads\n .map(option => {\n let str = `#${option.id}`;\n str += option.name ? `(${option.name})\\n` : '\\n';\n str += `path: '${option.path}'\\n`;\n str += option.buildContext\n ? `build context: '${option.buildContext}'\\n`\n : '';\n str += option.buildOptions\n ? `build options: '${option.buildOptions}'\\n`\n : '';\n return str;\n })\n .join('==='));\n const mutexId = workloads.length > 1\n ? workloads.map(v => v.id).join('__+__')\n : workloads[0].id;\n yield (0, mutex_1.obtainMutex)(mutexId, 30);\n core.info('Mutex obtained!');\n const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id));\n core.info('Create cluster and build all workloads');\n const builded = workloads.map(() => false);\n const clusterWorkloadRes = yield Promise.allSettled([\n (0, cluster_1.createCluster)(ydbVersion, 15),\n // TODO: create placeholder pods for databases\n // TODO: catch build error and stop cluster creation\n ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => {\n builded[idx] = true;\n }))\n ]);\n /** Indicates that cluster created, some of workloads builded and it's possible to run wl */\n const continueRun = clusterWorkloadRes[0].status === 'fulfilled' &&\n builded.filter(v => v).length > 0;\n core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`);\n if (builded.every(v => v)) {\n core.info('All workloads builded successfully');\n }\n else {\n if (continueRun) {\n builded.map((done, i) => {\n if (!done)\n core.info(`Error in '${workloads[i].id}' build`);\n else\n core.info(`'${workloads[i].id}' build successful`);\n });\n }\n else {\n core.info('No workloads builded!');\n }\n }\n if (continueRun) {\n // retry create operation one time in case of error\n const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () {\n return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: 2,\n args: `--min-partitions-count 6 --max-partitions-count 1000 ` +\n `--partition-size 1 --initial-data-count 1000`\n }));\n })));\n core.debug('create results: ' + JSON.stringify(createResult));\n if (createResult.filter(r => r.status === 'fulfilled').length === 0) {\n throw new Error('No workloads performed `create` action, exit');\n }\n else {\n // run in parrallel without retries\n const runResult = yield Promise.allSettled([\n ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60),\n args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` +\n `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`\n })),\n (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases)\n ]);\n core.debug('run results: ' + JSON.stringify(runResult));\n if (runResult\n .slice(0, workloads.length)\n .filter(r => r.status === 'fulfilled').length === 0) {\n core.info('No successfull workload runs!');\n throw new Error('No workloads runs completed successfully');\n }\n else {\n // TODO: somehow use objectives as input\n const objectives = {\n success_rate: [{ filter: {}, value: ['>', 0.98] }],\n max_99_latency: [\n { filter: { status: 'ok' }, value: ['<', 100] },\n { filter: { status: 'err' }, value: ['<', 30000] }\n ],\n fail_interval: [{ filter: {}, value: ['<', 20] }]\n };\n let promises = [];\n runResult.map((r, i) => {\n if (r.status === 'fulfilled' && i !== runResult.length - 1) {\n const timings = r.value;\n promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives));\n core.debug('isPullRequest=' + isPullRequest);\n if (isPullRequest) {\n core.debug('Push to promises grafana screenshot and postComment');\n promises.push((() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard);\n const comment = `\n :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**:\n \n [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()})\n \n ![SLO-${workloads[i].id}](${pictureUri})`;\n yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1')\n .update('nodejs-1')\n .digest()\n .readUint32BE(), comment);\n }))());\n }\n }\n });\n const res = yield Promise.allSettled(promises);\n core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res));\n }\n }\n }\n (0, cluster_1.deleteCluster)();\n (0, mutex_1.releaseMutex)();\n }\n catch (error) {\n if (error instanceof Error)\n core.setFailed(error.message);\n }\n });\n}\nconst isPostAction = !!core.getState('isPost');\nif (isPostAction) {\n core.info('Cleanup');\n core.debug('Remove .kube dir');\n (0, callExecutables_1.call)('rm -rf ~/.kube');\n core.debug('Remove .aws dir');\n (0, callExecutables_1.call)('rm -rf ~/.aws');\n}\nelse {\n main();\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseMutex = exports.obtainMutex = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\n/** Is mutex busy (configmap has field busy) */\nfunction isBusy(name) {\n var _a, _b, _c;\n core.debug(`isBusy(${name})`);\n const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`);\n core.debug('isBusy result: ' + res);\n const configmap = JSON.parse(res);\n core.debug('configmap parsed: ' + JSON.stringify(configmap));\n if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) {\n core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`);\n return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy;\n }\n return false;\n}\nfunction setBusy(lockedBy) {\n core.debug(`setBusy(${lockedBy})`);\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n}\n/**\n * Obtain mutex\n * @param workloadId id to mention in mutex\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction obtainMutex(workloadId, timeout, checkPeriod = 20) {\n return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () {\n return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => {\n const busy = isBusy('slo-mutex');\n if (typeof busy === 'boolean' && !busy) {\n core.debug('Set mutex');\n setBusy(workloadId);\n core.info('Mutex obtained');\n core.debug('Mutex sleep 5s');\n (0, callExecutables_1.call)('sleep 5');\n core.debug('Re-check after sleep');\n const mutexObtainedBy = isBusy('slo-mutex');\n if (mutexObtainedBy !== workloadId) {\n core.info('Mutex is not obtained!');\n return false;\n }\n return true;\n }\n return false;\n });\n }));\n}\nexports.obtainMutex = obtainMutex;\nfunction releaseMutex() {\n return (0, groupDecorator_1.logGroup)('Release mutex', () => {\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n });\n}\nexports.releaseMutex = releaseMutex;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst cluster_1 = require(\"./cluster\");\nfunction parseArguments() {\n return (0, groupDecorator_1.logGroup)('Parse arguments', () => {\n let workloads = [];\n let i = -1, haveValue = true;\n do {\n const readedValue = getWorkloadParam(i);\n if (null === readedValue) {\n // can start from '' or from 0\n if (i !== -1)\n haveValue = false;\n }\n else {\n workloads.push(readedValue);\n }\n i++;\n } while (haveValue);\n const githubToken = core.getInput('GITHUB_TOKEN');\n const kubeconfig = core.getInput('KUBECONFIG_B64');\n const dockerRepo = core.getInput('DOCKER_REPO');\n const dockerFolder = core.getInput('DOCKER_FOLDER');\n const dockerUsername = core.getInput('DOCKER_USERNAME');\n const dockerPassword = core.getInput('DOCKER_PASSWORD');\n const awsCredentials = core.getInput('AWS_CREDENTIALS_B64');\n const awsConfig = core.getInput('AWS_CONFIG_B64');\n const s3Endpoint = core.getInput('s3_endpoint');\n const s3Folder = core.getInput('s3_images_folder');\n const grafanaDomain = core.getInput('grafana_domain');\n const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k';\n let ydbVersion = core.getInput('ydb_version');\n const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20');\n const shutdownTime = Number(core.getInput('shutdown_time') || '30');\n if (isNaN(timeBetweenPhases))\n throw new Error('time_between_phases is not a number');\n if (isNaN(shutdownTime))\n throw new Error('shutdown_time is not a number');\n if (ydbVersion === '')\n ydbVersion = '23.1.26';\n if (ydbVersion === 'newest') {\n core.info('Get YDB docker versions');\n const ydbVersions = (0, cluster_1.getYdbVersions)();\n ydbVersion = ydbVersions[ydbVersions.length - 1];\n core.info(`Use YDB docker version = '${ydbVersion}'`);\n }\n // TODO: add other args\n return {\n workloads,\n githubToken,\n kubeconfig,\n awsCredentials,\n awsConfig,\n s3Endpoint,\n s3Folder,\n dockerRepo,\n dockerFolder,\n dockerUsername,\n dockerPassword,\n ydbVersion,\n timeBetweenPhases,\n shutdownTime,\n grafanaDomain,\n grafanaDashboard\n };\n });\n}\nexports.parseArguments = parseArguments;\nfunction getWorkloadParam(id) {\n let suffix = id == -1 ? '' : `${id}`;\n const languageId = core.getInput('language_id' + suffix);\n const languageName = core.getInput('language' + suffix);\n const workloadPath = core.getInput('workload_path' + suffix);\n const workloadBuildContext = core.getInput('workload_build_context' + suffix);\n const workloadBuildOptions = core.getInput('workload_build_options' + suffix);\n core.debug(`getWorkloadParam(${id}):\n suffix='${suffix}'\n languageId='${languageId}'\n languageName='${languageName}'\n workloadPath='${workloadPath}'\n workloadBuildContext='${workloadBuildContext}'\n workloadBuildOptions='${workloadBuildOptions}'`);\n // id and path are required\n if (languageId.length === 0 || workloadPath.length === 0) {\n core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`);\n return null;\n }\n let options = {\n id: languageId,\n path: workloadPath\n };\n if (languageName)\n options.name = languageName;\n if (workloadBuildContext)\n options.buildContext = workloadBuildContext;\n if (workloadBuildOptions)\n options.buildOptions = workloadBuildOptions;\n return options;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logGroup = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nfunction logGroup(name, fun) {\n core.startGroup(name);\n const res = fun();\n if (res instanceof Promise) {\n return res.finally(() => {\n core.endGroup();\n });\n }\n else {\n core.endGroup();\n return res;\n }\n}\nexports.logGroup = logGroup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nfunction retry(retries, inner) {\n return __awaiter(this, void 0, void 0, function* () {\n let error;\n while (retries > 0) {\n try {\n return yield inner();\n }\n catch (e) {\n error = e;\n }\n retries--;\n }\n core.info('All retries have been used, re-throwing error');\n throw error;\n });\n}\nexports.retry = retry;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nclass TimeoutExceededError extends Error {\n}\nexports.TimeoutExceededError = TimeoutExceededError;\nfunction withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`);\n const deadline = new Date().valueOf() + timeoutM * 1000 * 60;\n core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n do {\n core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n if (yield checkFunc())\n return;\n yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000));\n } while (new Date().valueOf() < deadline);\n core.debug(`withTimeout throw timeout`);\n throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`);\n });\n}\nexports.withTimeout = withTimeout;\nfunction withTimeoutSimple(timeoutS, func) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.race([\n func,\n new Promise((_, reject) => setTimeout(reject, timeoutS * 1000))\n ]);\n });\n}\nexports.withTimeoutSimple = withTimeoutSimple;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nconst workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content;\nfunction dockerLogin(repo, user, password) {\n return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () {\n try {\n yield (0, callExecutables_1.callAsync)(`echo \"${password}\" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true);\n core.info('Successfully logged in');\n }\n catch (error) {\n // suppress error revealing user and password\n const msg = 'Incorrect docker repo, username or password';\n if ((error === null || error === void 0 ? void 0 : error.message) &&\n (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) {\n core.info(msg);\n }\n else {\n core.info('Something went wrong in docker login');\n }\n throw new Error(msg);\n }\n }));\n}\nexports.dockerLogin = dockerLogin;\nfunction generateDockerPath(repo, folder, id) {\n return `${repo}/${folder}/${id}`;\n}\nexports.generateDockerPath = generateDockerPath;\nfunction buildWorkload(id, dockerImage, workingDir, options, context) {\n if (!options || options.length === 0)\n options = '';\n if (!context || context.length === 0)\n context = '.';\n return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () {\n core.info('Build docker image');\n yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` +\n `-t ${dockerImage}:latest ` +\n `-t ${dockerImage}:gh-${github.context.sha} ` +\n `${options} ` +\n `${context}`, false, workingDir);\n core.info('Push docker tag @latest');\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`);\n core.info(`Push docker tag '@gh-${github.context.sha}'`);\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`);\n }));\n}\nexports.buildWorkload = buildWorkload;\nfunction runWorkload(command, options) {\n return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () {\n const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`;\n const workloadManifest = workloadManifestTemplate\n .replace(/\\$\\{\\{LANGUAGE_ID\\}\\}/g, options.id)\n .replace(/\\$\\{\\{COMMAND\\}\\}/g, command)\n .replace(/\\$\\{\\{DOCKER_IMAGE\\}\\}/g, options.dockerPath)\n .replace('${{ARGS}}', containerArgs\n .split(' ')\n .map(s => `'${s}'`)\n .join('\\n - '));\n core.debug(`Workload manifest: \\n\\n${workloadManifest}`);\n const startTime = new Date();\n core.info(`Workload apply ${command} result:\\n` +\n (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`));\n core.debug('Workload status check: ' + JSON.stringify(status));\n if (status.failed) {\n const msg = `Workload ${options.id} ${command} failed`;\n core.info(msg);\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n throw new Error(msg);\n }\n if (status.complete || status.succeeded)\n return true;\n return false;\n }));\n const endTime = new Date();\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n return { startTime, endTime };\n }));\n}\nexports.runWorkload = runWorkload;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n var _a, _b, _c;\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;\n this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;\n this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options, ...additionalPlugins) {\n const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);\n return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nexports.defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\n//# sourceMappingURL=proxy.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nconst Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\"POST /orgs/{org}/actions/runners/{runner_id}/labels\"],\n addCustomLabelsToSelfHostedRunnerForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n approveWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteActionsCacheById: [\"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"],\n deleteActionsCacheByKey: [\"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunAttemptLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\"GET /orgs/{org}/actions/cache/usage-by-repository\"],\n getActionsCacheUsageForEnterprise: [\"GET /enterprises/{enterprise}/actions/cache/usage\"],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/workflow\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/access\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listJobsForWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"],\n listLabelsForSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}/labels\"],\n listLabelsForSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForOrg: [\"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"],\n setCustomLabelsForSelfHostedRunnerForRepo: [\"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"],\n setWorkflowAccessToRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/access\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"]\n }],\n addRepoToInstallationForAuthenticatedUser: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\"POST /app/hook/deliveries/{delivery_id}/attempts\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"]\n }],\n removeRepoFromInstallationForAuthenticatedUser: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubAdvancedSecurityBillingGhe: [\"GET /enterprises/{enterprise}/settings/billing/advanced-security\"],\n getGithubAdvancedSecurityBillingOrg: [\"GET /orgs/{org}/settings/billing/advanced-security\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", {}, {\n renamed: [\"codeScanning\", \"listAlertInstances\"]\n }],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n codespaceMachinesForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/machines\"],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n createOrUpdateSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}\"],\n createWithPrForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"],\n createWithRepoForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/codespaces\"],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n deleteSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}\"],\n exportForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/exports\"],\n getExportDetailsForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/exports/{export_id}\"],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\"GET /user/codespaces/secrets/public-key\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n getSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}\"],\n listDevcontainersInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/devcontainers\"],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\"GET /orgs/{org}/codespaces\", {}, {\n renamedParameters: {\n org_id: \"org\"\n }\n }],\n listInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}/repositories\"],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n repoMachinesForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/machines\"],\n setRepositoriesForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories\"],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"],\n diffRange: [\"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n getServerStatistics: [\"GET /enterprise-installation/{enterprise_or_org}/server-statistics\"],\n listLabelsForSelfHostedRunnerForEnterprise: [\"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\"],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\"],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\"],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\"],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/repositories\"],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {}, {\n renamed: [\"migrations\", \"listReposForAuthenticatedUser\"]\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\"],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\"],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n createForRelease: [\"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n listForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"]\n }],\n acceptInvitationForAuthenticatedUser: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\"],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\"GET /repos/{owner}/{repo}/compare/{basehead}\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\"],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"]\n }],\n declineInvitationForAuthenticatedUser: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteTagProtection: [\"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\"],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\"],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\"],\n generateReleaseNotes: [\"POST /repos/{owner}/{repo}/releases/generate-notes\"],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForEnterprise: [\"GET /enterprises/{enterprise}/secret-scanning/alerts\"],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailForAuthenticatedUser\"]\n }],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"]\n }],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"]\n }],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"]\n }],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"]\n }],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"]\n }],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"]\n }],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"]\n }],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticatedUser\"]\n }],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticatedUser\"]\n }],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticatedUser\"]\n }],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"]\n }],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"]\n }],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"]\n }],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"5.16.2\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexports.legacyRestEndpointMethods = legacyRestEndpointMethods;\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");","module.exports = require(\"child_process\");","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3109);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/licenses.txt b/dist/licenses.txt new file mode 100644 index 00000000..bac409bc --- /dev/null +++ b/dist/licenses.txt @@ -0,0 +1,635 @@ +@actions/core +MIT +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@actions/github +MIT +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@actions/http-client +MIT +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@octokit/auth-token +MIT +The MIT License + +Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@octokit/core +MIT +The MIT License + +Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@octokit/endpoint +MIT +The MIT License + +Copyright (c) 2018 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@octokit/graphql +MIT +The MIT License + +Copyright (c) 2018 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@octokit/plugin-paginate-rest +MIT +MIT License Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@octokit/plugin-rest-endpoint-methods +MIT +MIT License Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@octokit/request +MIT +The MIT License + +Copyright (c) 2018 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@octokit/request-error +MIT +The MIT License + +Copyright (c) 2019 Octokit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@vercel/ncc +MIT +Copyright 2018 ZEIT, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +before-after-hook +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Gregor Martynus and other contributors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +deprecation +ISC +The ISC License + +Copyright (c) Gregor Martynus and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +is-plain-object +MIT +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +node-fetch +MIT +The MIT License (MIT) + +Copyright (c) 2016 David Frank + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +once +ISC +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +tr46 +MIT + +tunnel +MIT +The MIT License (MIT) + +Copyright (c) 2012 Koichi Kobayashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +universal-user-agent +ISC +# [ISC License](https://spdx.org/licenses/ISC) + +Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m) + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +uuid +MIT +The MIT License (MIT) + +Copyright (c) 2010-2020 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +webidl-conversions +BSD-2-Clause +# The BSD 2-Clause License + +Copyright (c) 2014, Domenic Denicola +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +whatwg-url +MIT +The MIT License (MIT) + +Copyright (c) 2015–2016 Sebastian Mayr + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +wrappy +ISC +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/dist/sourcemap-register.js b/dist/sourcemap-register.js new file mode 100644 index 00000000..466141d4 --- /dev/null +++ b/dist/sourcemap-register.js @@ -0,0 +1 @@ +(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var t=n(190);var o=5;var i=1<>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n{var t;var o=n(339);var i=n(345);var a=n(274).I;var u=n(449);var s=n(758).U;function SourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}return n.sections!=null?new IndexedSourceMapConsumer(n,r):new BasicSourceMapConsumer(n,r)}SourceMapConsumer.fromSourceMap=function(e,r){return BasicSourceMapConsumer.fromSourceMap(e,r)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,r){var n=e.charAt(r);return n===";"||n===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,r){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,r,n){var t=r||null;var i=n||SourceMapConsumer.GENERATED_ORDER;var a;switch(i){case SourceMapConsumer.GENERATED_ORDER:a=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:a=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var u=this.sourceRoot;a.map((function(e){var r=e.source===null?null:this._sources.at(e.source);r=o.computeSourceURL(u,r,this._sourceMapURL);return{source:r,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}}),this).forEach(e,t)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var r=o.getArg(e,"line");var n={source:o.getArg(e,"source"),originalLine:r,originalColumn:o.getArg(e,"column",0)};n.source=this._findSourceIndex(n.source);if(n.source<0){return[]}var t=[];var a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(a>=0){var u=this._originalMappings[a];if(e.column===undefined){var s=u.originalLine;while(u&&u.originalLine===s){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}else{var l=u.originalColumn;while(u&&u.originalLine===r&&u.originalColumn==l){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}}return t};r.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sources");var u=o.getArg(n,"names",[]);var s=o.getArg(n,"sourceRoot",null);var l=o.getArg(n,"sourcesContent",null);var c=o.getArg(n,"mappings");var p=o.getArg(n,"file",null);if(t!=this._version){throw new Error("Unsupported version: "+t)}if(s){s=o.normalize(s)}i=i.map(String).map(o.normalize).map((function(e){return s&&o.isAbsolute(s)&&o.isAbsolute(e)?o.relative(s,e):e}));this._names=a.fromArray(u.map(String),true);this._sources=a.fromArray(i,true);this._absoluteSources=this._sources.toArray().map((function(e){return o.computeSourceURL(s,e,r)}));this.sourceRoot=s;this.sourcesContent=l;this._mappings=c;this._sourceMapURL=r;this.file=p}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var r=e;if(this.sourceRoot!=null){r=o.relative(this.sourceRoot,r)}if(this._sources.has(r)){return this._sources.indexOf(r)}var n;for(n=0;n1){v.source=l+_[1];l+=_[1];v.originalLine=i+_[2];i=v.originalLine;v.originalLine+=1;v.originalColumn=a+_[3];a=v.originalColumn;if(_.length>4){v.name=c+_[4];c+=_[4]}}m.push(v);if(typeof v.originalLine==="number"){d.push(v)}}}s(m,o.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;s(d,o.compareByOriginalPositions);this.__originalMappings=d};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,r,n,t,o,a){if(e[n]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[n])}if(e[t]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[t])}return i.search(e,r,o,a)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var t=this._generatedMappings[n];if(t.generatedLine===r.generatedLine){var i=o.getArg(t,"source",null);if(i!==null){i=this._sources.at(i);i=o.computeSourceURL(this.sourceRoot,i,this._sourceMapURL)}var a=o.getArg(t,"name",null);if(a!==null){a=this._names.at(a)}return{source:i,line:o.getArg(t,"originalLine",null),column:o.getArg(t,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return e==null}))};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,r){if(!this.sourcesContent){return null}var n=this._findSourceIndex(e);if(n>=0){return this.sourcesContent[n]}var t=e;if(this.sourceRoot!=null){t=o.relative(this.sourceRoot,t)}var i;if(this.sourceRoot!=null&&(i=o.urlParse(this.sourceRoot))){var a=t.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(a)){return this.sourcesContent[this._sources.indexOf(a)]}if((!i.path||i.path=="/")&&this._sources.has("/"+t)){return this.sourcesContent[this._sources.indexOf("/"+t)]}}if(r){return null}else{throw new Error('"'+t+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var r=o.getArg(e,"source");r=this._findSourceIndex(r);if(r<0){return{line:null,column:null,lastColumn:null}}var n={source:r,originalLine:o.getArg(e,"line"),originalColumn:o.getArg(e,"column")};var t=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,o.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(t>=0){var i=this._originalMappings[t];if(i.source===n.source){return{line:o.getArg(i,"generatedLine",null),column:o.getArg(i,"generatedColumn",null),lastColumn:o.getArg(i,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sections");if(t!=this._version){throw new Error("Unsupported version: "+t)}this._sources=new a;this._names=new a;var u={line:-1,column:0};this._sections=i.map((function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var n=o.getArg(e,"offset");var t=o.getArg(n,"line");var i=o.getArg(n,"column");if(t{var t=n(449);var o=n(339);var i=n(274).I;var a=n(680).H;function SourceMapGenerator(e){if(!e){e={}}this._file=o.getArg(e,"file",null);this._sourceRoot=o.getArg(e,"sourceRoot",null);this._skipValidation=o.getArg(e,"skipValidation",false);this._sources=new i;this._names=new i;this._mappings=new a;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var r=e.sourceRoot;var n=new SourceMapGenerator({file:e.file,sourceRoot:r});e.eachMapping((function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){t.source=e.source;if(r!=null){t.source=o.relative(r,t.source)}t.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){t.name=e.name}}n.addMapping(t)}));e.sources.forEach((function(t){var i=t;if(r!==null){i=o.relative(r,t)}if(!n._sources.has(i)){n._sources.add(i)}var a=e.sourceContentFor(t);if(a!=null){n.setSourceContent(t,a)}}));return n};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var r=o.getArg(e,"generated");var n=o.getArg(e,"original",null);var t=o.getArg(e,"source",null);var i=o.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(r,n,t,i)}if(t!=null){t=String(t);if(!this._sources.has(t)){this._sources.add(t)}}if(i!=null){i=String(i);if(!this._names.has(i)){this._names.add(i)}}this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:t,name:i})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,r){var n=e;if(this._sourceRoot!=null){n=o.relative(this._sourceRoot,n)}if(r!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[o.toSetString(n)]=r}else if(this._sourcesContents){delete this._sourcesContents[o.toSetString(n)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,r,n){var t=r;if(r==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}t=e.file}var a=this._sourceRoot;if(a!=null){t=o.relative(a,t)}var u=new i;var s=new i;this._mappings.unsortedForEach((function(r){if(r.source===t&&r.originalLine!=null){var i=e.originalPositionFor({line:r.originalLine,column:r.originalColumn});if(i.source!=null){r.source=i.source;if(n!=null){r.source=o.join(n,r.source)}if(a!=null){r.source=o.relative(a,r.source)}r.originalLine=i.line;r.originalColumn=i.column;if(i.name!=null){r.name=i.name}}}var l=r.source;if(l!=null&&!u.has(l)){u.add(l)}var c=r.name;if(c!=null&&!s.has(c)){s.add(c)}}),this);this._sources=u;this._names=s;e.sources.forEach((function(r){var t=e.sourceContentFor(r);if(t!=null){if(n!=null){r=o.join(n,r)}if(a!=null){r=o.relative(a,r)}this.setSourceContent(r,t)}}),this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,r,n,t){if(r&&typeof r.line!=="number"&&typeof r.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!r&&!n&&!t){return}else if(e&&"line"in e&&"column"in e&&r&&"line"in r&&"column"in r&&e.line>0&&e.column>=0&&r.line>0&&r.column>=0&&n){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:r,name:t}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var r=1;var n=0;var i=0;var a=0;var u=0;var s="";var l;var c;var p;var f;var g=this._mappings.toArray();for(var h=0,d=g.length;h0){if(!o.compareByGeneratedPositionsInflated(c,g[h-1])){continue}l+=","}}l+=t.encode(c.generatedColumn-e);e=c.generatedColumn;if(c.source!=null){f=this._sources.indexOf(c.source);l+=t.encode(f-u);u=f;l+=t.encode(c.originalLine-1-i);i=c.originalLine-1;l+=t.encode(c.originalColumn-n);n=c.originalColumn;if(c.name!=null){p=this._names.indexOf(c.name);l+=t.encode(p-a);a=p}}s+=l}return s};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,r){return e.map((function(e){if(!this._sourcesContents){return null}if(r!=null){e=o.relative(r,e)}var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};r.h=SourceMapGenerator},351:(e,r,n)=>{var t;var o=n(591).h;var i=n(339);var a=/(\r?\n)/;var u=10;var s="$$$isSourceNode$$$";function SourceNode(e,r,n,t,o){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=r==null?null:r;this.source=n==null?null:n;this.name=o==null?null:o;this[s]=true;if(t!=null)this.add(t)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,r,n){var t=new SourceNode;var o=e.split(a);var u=0;var shiftNextLine=function(){var e=getNextLine();var r=getNextLine()||"";return e+r;function getNextLine(){return u=0;r--){this.prepend(e[r])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var r;for(var n=0,t=this.children.length;n0){r=[];for(n=0;n{function getArg(e,r,n){if(r in e){return e[r]}else if(arguments.length===3){return n}else{throw new Error('"'+r+'" is a required argument.')}}r.getArg=getArg;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var t=/^data:.+\,.+$/;function urlParse(e){var r=e.match(n);if(!r){return null}return{scheme:r[1],auth:r[2],host:r[3],port:r[4],path:r[5]}}r.urlParse=urlParse;function urlGenerate(e){var r="";if(e.scheme){r+=e.scheme+":"}r+="//";if(e.auth){r+=e.auth+"@"}if(e.host){r+=e.host}if(e.port){r+=":"+e.port}if(e.path){r+=e.path}return r}r.urlGenerate=urlGenerate;function normalize(e){var n=e;var t=urlParse(e);if(t){if(!t.path){return e}n=t.path}var o=r.isAbsolute(n);var i=n.split(/\/+/);for(var a,u=0,s=i.length-1;s>=0;s--){a=i[s];if(a==="."){i.splice(s,1)}else if(a===".."){u++}else if(u>0){if(a===""){i.splice(s+1,u);u=0}else{i.splice(s,2);u--}}}n=i.join("/");if(n===""){n=o?"/":"."}if(t){t.path=n;return urlGenerate(t)}return n}r.normalize=normalize;function join(e,r){if(e===""){e="."}if(r===""){r="."}var n=urlParse(r);var o=urlParse(e);if(o){e=o.path||"/"}if(n&&!n.scheme){if(o){n.scheme=o.scheme}return urlGenerate(n)}if(n||r.match(t)){return r}if(o&&!o.host&&!o.path){o.host=r;return urlGenerate(o)}var i=r.charAt(0)==="/"?r:normalize(e.replace(/\/+$/,"")+"/"+r);if(o){o.path=i;return urlGenerate(o)}return i}r.join=join;r.isAbsolute=function(e){return e.charAt(0)==="/"||n.test(e)};function relative(e,r){if(e===""){e="."}e=e.replace(/\/$/,"");var n=0;while(r.indexOf(e+"/")!==0){var t=e.lastIndexOf("/");if(t<0){return r}e=e.slice(0,t);if(e.match(/^([^\/]+:\/)?\/*$/)){return r}++n}return Array(n+1).join("../")+r.substr(e.length+1)}r.relative=relative;var o=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}r.toSetString=o?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}r.fromSetString=o?identity:fromSetString;function isProtoString(e){if(!e){return false}var r=e.length;if(r<9){return false}if(e.charCodeAt(r-1)!==95||e.charCodeAt(r-2)!==95||e.charCodeAt(r-3)!==111||e.charCodeAt(r-4)!==116||e.charCodeAt(r-5)!==111||e.charCodeAt(r-6)!==114||e.charCodeAt(r-7)!==112||e.charCodeAt(r-8)!==95||e.charCodeAt(r-9)!==95){return false}for(var n=r-10;n>=0;n--){if(e.charCodeAt(n)!==36){return false}}return true}function compareByOriginalPositions(e,r,n){var t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0||n){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0){return t}t=e.generatedLine-r.generatedLine;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,r,n){var t=e.generatedLine-r.generatedLine;if(t!==0){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0||n){return t}t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,r){if(e===r){return 0}if(e===null){return 1}if(r===null){return-1}if(e>r){return 1}return-1}function compareByGeneratedPositionsInflated(e,r){var n=e.generatedLine-r.generatedLine;if(n!==0){return n}n=e.generatedColumn-r.generatedColumn;if(n!==0){return n}n=strcmp(e.source,r.source);if(n!==0){return n}n=e.originalLine-r.originalLine;if(n!==0){return n}n=e.originalColumn-r.originalColumn;if(n!==0){return n}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}r.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,r,n){r=r||"";if(e){if(e[e.length-1]!=="/"&&r[0]!=="/"){e+="/"}r=e+r}if(n){var t=urlParse(n);if(!t){throw new Error("sourceMapURL could not be parsed")}if(t.path){var o=t.path.lastIndexOf("/");if(o>=0){t.path=t.path.substring(0,o+1)}}r=join(urlGenerate(t),r)}return normalize(r)}r.computeSourceURL=computeSourceURL},997:(e,r,n)=>{n(591).h;r.SourceMapConsumer=n(952).SourceMapConsumer;n(351)},284:(e,r,n)=>{e=n.nmd(e);var t=n(997).SourceMapConsumer;var o=n(17);var i;try{i=n(147);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(650);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var h=[];var d=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"")}}else if(u){o+="new "+(i||"")}else if(i){o+=i}else{o+=r;a=false}if(a){o+=" ("+r+")"}return o}function cloneCallSite(e){var r={};Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(n){r[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n]}));r.toString=CallSiteToString;return r}function wrapCallSite(e,r){if(r===undefined){r={nextPosition:null,curPosition:null}}if(e.isNative()){r.curPosition=null;return e}var n=e.getFileName()||e.getScriptNameOrSourceURL();if(n){var t=e.getLineNumber();var o=e.getColumnNumber()-1;var i=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/;var a=i.test(globalProcessVersion())?0:62;if(t===1&&o>a&&!isInBrowser()&&!e.isEval()){o-=a}var u=mapSourcePosition({source:n,line:t,column:o});r.curPosition=u;e=cloneCallSite(e);var s=e.getFunctionName;e.getFunctionName=function(){if(r.nextPosition==null){return s()}return r.nextPosition.name||s()};e.getFileName=function(){return u.source};e.getLineNumber=function(){return u.line};e.getColumnNumber=function(){return u.column+1};e.getScriptNameOrSourceURL=function(){return u.source};return e}var l=e.isEval()&&e.getEvalOrigin();if(l){l=mapEvalOrigin(l);e=cloneCallSite(e);e.getEvalOrigin=function(){return l};return e}return e}function prepareStackTrace(e,r){if(l){p={};f={}}var n=e.name||"Error";var t=e.message||"";var o=n+": "+t;var i={nextPosition:null,curPosition:null};var a=[];for(var u=r.length-1;u>=0;u--){a.push("\n at "+wrapCallSite(r[u],i));i.nextPosition=i.curPosition}i.curPosition=i.nextPosition=null;return o+a.reverse().join("")}function getErrorSource(e){var r=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(r){var n=r[1];var t=+r[2];var o=+r[3];var a=p[n];if(!a&&i&&i.existsSync(n)){try{a=i.readFileSync(n,"utf8")}catch(e){a=""}}if(a){var u=a.split(/(?:\r\n|\r|\n)/)[t-1];if(u){return n+":"+t+"\n"+u+"\n"+new Array(o).join(" ")+"^"}}}return null}function printErrorAndExit(e){var r=getErrorSource(e);var n=globalProcessStderr();if(n&&n._handle&&n._handle.setBlocking){n._handle.setBlocking(true)}if(r){console.error();console.error(r)}console.error(e.stack);globalProcessExit(1)}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(r){if(r==="uncaughtException"){var n=arguments[1]&&arguments[1].stack;var t=this.listeners(r).length>0;if(n&&!t){return printErrorAndExit(arguments[1])}}return e.apply(this,arguments)}}var S=h.slice(0);var _=d.slice(0);r.wrapCallSite=wrapCallSite;r.getErrorSource=getErrorSource;r.mapSourcePosition=mapSourcePosition;r.retrieveSourceMap=v;r.install=function(r){r=r||{};if(r.environment){c=r.environment;if(["node","browser","auto"].indexOf(c)===-1){throw new Error("environment "+c+" was unknown. Available options are {auto, browser, node}")}}if(r.retrieveFile){if(r.overrideRetrieveFile){h.length=0}h.unshift(r.retrieveFile)}if(r.retrieveSourceMap){if(r.overrideRetrieveSourceMap){d.length=0}d.unshift(r.retrieveSourceMap)}if(r.hookRequire&&!isInBrowser()){var n=dynamicRequire(e,"module");var t=n.prototype._compile;if(!t.__sourceMapSupport){n.prototype._compile=function(e,r){p[r]=e;f[r]=undefined;return t.call(this,e,r)};n.prototype._compile.__sourceMapSupport=true}}if(!l){l="emptyCacheBetweenOperations"in r?r.emptyCacheBetweenOperations:false}if(!u){u=true;Error.prepareStackTrace=prepareStackTrace}if(!s){var o="handleUncaughtExceptions"in r?r.handleUncaughtExceptions:true;try{var i=dynamicRequire(e,"worker_threads");if(i.isMainThread===false){o=false}}catch(e){}if(o&&hasGlobalProcessEventEmitter()){s=true;shimEmitUncaughtException()}}};r.resetRetrieveHandlers=function(){h.length=0;d.length=0;h=S.slice(0);d=_.slice(0);v=handlerExec(d);m=handlerExec(h)}},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}};var r={};function __webpack_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={id:n,loaded:false,exports:{}};var i=true;try{e[n](o,o.exports,__webpack_require__);i=false}finally{if(i)delete r[n]}o.loaded=true;return o.exports}(()=>{__webpack_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __webpack_require__!=="undefined")__webpack_require__.ab=__dirname+"/";var n={};(()=>{__webpack_require__(284).install()})();module.exports=n})(); \ No newline at end of file From 839656ada22d32d74e2aee03e2c83d85ed04c324 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 18:39:53 +0300 Subject: [PATCH 38/77] fix: bugfix action arguments --- action.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/action.yml b/action.yml index 0c607e75..2b815051 100644 --- a/action.yml +++ b/action.yml @@ -43,6 +43,52 @@ inputs: shutdownTime: description: 'SLO workload shutdown timeout' required: true + # You need to use sequential ids for workloads to run + language_id0: + description: 'SLO workload #0 language ID' + required: false + workload_path0: + description: 'SLO workload #0 workload path' + required: false + language0: + description: 'SLO workload #0 language name' + required: false + workload_build_context0: + description: 'SLO workload #0 docker build context' + required: false + workload_build_options0: + description: 'SLO workload #0 docker build arguments' + required: false + language_id1: + description: 'SLO workload #1 language ID' + required: false + workload_path1: + description: 'SLO workload #1 workload path' + required: false + language1: + description: 'SLO workload #1 language name' + required: false + workload_build_context1: + description: 'SLO workload #1 docker build context' + required: false + workload_build_options1: + description: 'SLO workload #1 docker build arguments' + required: false + language_id2: + description: 'SLO workload #2 language ID' + required: false + workload_path2: + description: 'SLO workload #2 workload path' + required: false + language2: + description: 'SLO workload #2 language name' + required: false + workload_build_context2: + description: 'SLO workload #2 docker build context' + required: false + workload_build_options2: + description: 'SLO workload #2 docker build arguments' + required: false runs: using: 'node16' main: 'dist/index.js' From 03bddd71412607664d7f796dbefb9e9d425b1387 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 19:20:23 +0300 Subject: [PATCH 39/77] fix: bugfix grafana screenshot url --- dist/index.js | 2 +- dist/index.js.map | 2 +- src/grafanaScreenshot.ts | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dist/index.js b/dist/index.js index 47997039..ec7a312d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -730,7 +730,7 @@ const callExecutables_1 = __nccwpck_require__(9419); function grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) { return __awaiter(this, void 0, void 0, function* () { core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`); - const query = `http://grafana/render/d/${dashboard}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`; + const query = `http://grafana/render/d/${dashboard.split('/')[0]}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`; core.debug('grafana query: ' + query); const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"`); core.debug('grafana imageb64: ' + diff --git a/dist/index.js.map b/dist/index.js.map index 97082b02..a4718038 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACllCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;AEDA;AACA;AACA;AACA","sources":["../webpack://slo-tests/./lib/callExecutables.js","../webpack://slo-tests/./lib/checkResults.js","../webpack://slo-tests/./lib/cluster.js","../webpack://slo-tests/./lib/errorScheduler.js","../webpack://slo-tests/./lib/getInfrastractureEndpoints.js","../webpack://slo-tests/./lib/grafanaScreenshot.js","../webpack://slo-tests/./lib/main.js","../webpack://slo-tests/./lib/mutex.js","../webpack://slo-tests/./lib/parseArguments.js","../webpack://slo-tests/./lib/utils/groupDecorator.js","../webpack://slo-tests/./lib/utils/retry.js","../webpack://slo-tests/./lib/utils/withTimeout.js","../webpack://slo-tests/./lib/workload.js","../webpack://slo-tests/./node_modules/@actions/core/lib/command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/core.js","../webpack://slo-tests/./node_modules/@actions/core/lib/file-command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/path-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/summary.js","../webpack://slo-tests/./node_modules/@actions/core/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/context.js","../webpack://slo-tests/./node_modules/@actions/github/lib/github.js","../webpack://slo-tests/./node_modules/@actions/github/lib/internal/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/auth.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/index.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/proxy.js","../webpack://slo-tests/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/core/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request/dist-node/index.js","../webpack://slo-tests/./node_modules/before-after-hook/index.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/add.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/register.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/remove.js","../webpack://slo-tests/./node_modules/deprecation/dist-node/index.js","../webpack://slo-tests/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://slo-tests/./node_modules/node-fetch/lib/index.js","../webpack://slo-tests/./node_modules/once/once.js","../webpack://slo-tests/./node_modules/tr46/index.js","../webpack://slo-tests/./node_modules/tunnel/index.js","../webpack://slo-tests/./node_modules/tunnel/lib/tunnel.js","../webpack://slo-tests/./node_modules/universal-user-agent/dist-node/index.js","../webpack://slo-tests/./node_modules/uuid/dist/index.js","../webpack://slo-tests/./node_modules/uuid/dist/md5.js","../webpack://slo-tests/./node_modules/uuid/dist/nil.js","../webpack://slo-tests/./node_modules/uuid/dist/parse.js","../webpack://slo-tests/./node_modules/uuid/dist/regex.js","../webpack://slo-tests/./node_modules/uuid/dist/rng.js","../webpack://slo-tests/./node_modules/uuid/dist/sha1.js","../webpack://slo-tests/./node_modules/uuid/dist/stringify.js","../webpack://slo-tests/./node_modules/uuid/dist/v1.js","../webpack://slo-tests/./node_modules/uuid/dist/v3.js","../webpack://slo-tests/./node_modules/uuid/dist/v35.js","../webpack://slo-tests/./node_modules/uuid/dist/v4.js","../webpack://slo-tests/./node_modules/uuid/dist/v5.js","../webpack://slo-tests/./node_modules/uuid/dist/validate.js","../webpack://slo-tests/./node_modules/uuid/dist/version.js","../webpack://slo-tests/./node_modules/webidl-conversions/lib/index.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/public-api.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/utils.js","../webpack://slo-tests/./node_modules/wrappy/wrappy.js","../webpack://slo-tests/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://slo-tests/external node-commonjs \"assert\"","../webpack://slo-tests/external node-commonjs \"child_process\"","../webpack://slo-tests/external node-commonjs \"crypto\"","../webpack://slo-tests/external node-commonjs \"events\"","../webpack://slo-tests/external node-commonjs \"fs\"","../webpack://slo-tests/external node-commonjs \"http\"","../webpack://slo-tests/external node-commonjs \"https\"","../webpack://slo-tests/external node-commonjs \"net\"","../webpack://slo-tests/external node-commonjs \"os\"","../webpack://slo-tests/external node-commonjs \"path\"","../webpack://slo-tests/external node-commonjs \"punycode\"","../webpack://slo-tests/external node-commonjs \"stream\"","../webpack://slo-tests/external node-commonjs \"tls\"","../webpack://slo-tests/external node-commonjs \"url\"","../webpack://slo-tests/external node-commonjs \"util\"","../webpack://slo-tests/external node-commonjs \"zlib\"","../webpack://slo-tests/webpack/bootstrap","../webpack://slo-tests/webpack/runtime/compat","../webpack://slo-tests/webpack/before-startup","../webpack://slo-tests/webpack/startup","../webpack://slo-tests/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst child_process_1 = require(\"child_process\");\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nconst path_1 = __importDefault(require(\"path\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nlet kubectlPath = null;\nlet callId = 0;\nfunction prepareK8S(base64kubeconfig) {\n return (0, groupDecorator_1.logGroup)('Prepare k8s', () => {\n // create ~/.kube folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add kubeconfig\n if (base64kubeconfig.length > 0) {\n core.debug('Get kubeconfig string');\n const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8');\n core.info(`Write kubeconfig to ~/.kube/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig);\n }\n kubectlPath = call('which kubectl').split('\\n')[0];\n core.info(`kubectl path: ${kubectlPath}`);\n });\n}\nexports.prepareK8S = prepareK8S;\nfunction prepareAWS(awsCredentialsB64, awsConfigB64) {\n // create ~/.aws folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add awsCredentials\n if (awsCredentialsB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8');\n core.info(`Write awsCredentials to ~/.aws/credentials`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials);\n }\n // add awsConfig\n if (awsConfigB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8');\n core.info(`Write awsConfig to ~/.aws/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig);\n }\n}\nexports.prepareAWS = prepareAWS;\nfunction call(command, secret = false) {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' });\n core.debug(`Call #${id} result ${spawnResult}`);\n return spawnResult;\n}\nexports.call = call;\nfunction callAsync(command, secret = false, cwd = '.') {\n return new Promise((resolve, reject) => {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd });\n if (!proc.stdio || !proc.stdout || !proc.stderr) {\n core.info(`Error in callAsync #${id}: can't spawn process`);\n throw new Error(`Error in callAsync #${id}: can't spawn process`);\n }\n let out = '', err = '';\n proc.stdout.on('data', data => (out += data.toString()));\n proc.stderr.on('data', data => (err += data.toString()));\n proc.on('close', code => {\n core.debug(`Call #${id} async code = ${code}`);\n if (code == 0) {\n core.debug(`Call #${id} async output \\n${out}`);\n resolve(out);\n }\n else {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on close`);\n else\n core.debug(`Call #${id} async failed - on close:\\n${err}`);\n reject(new Error(err));\n }\n });\n proc.on('error', err => {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on error`);\n else\n core.debug(`Call #${id} async failed - on error:\\n${err}`);\n reject(err);\n });\n });\n}\nexports.callAsync = callAsync;\nfunction callKubernetes(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(`${kubectlPath} ${command}`);\n}\nexports.callKubernetes = callKubernetes;\nfunction callKubernetesPath(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPath = callKubernetesPath;\nfunction callKubernetesAsync(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(`${kubectlPath} ${command}`);\n}\nexports.callKubernetesAsync = callKubernetesAsync;\nfunction callKubernetesPathAsync(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPathAsync = callKubernetesPathAsync;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nfunction getUUID() {\n const hexstring = crypto_1.default.randomBytes(16).toString('hex');\n return (hexstring.substring(0, 8) +\n '-' +\n hexstring.substring(8, 12) +\n '-' +\n hexstring.substring(12, 16) +\n '-' +\n hexstring.substring(16, 20) +\n '-' +\n hexstring.substring(20));\n}\nexports.getUUID = getUUID;\nfunction getDataFromGrafana(fromDate, toDate, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = {\n queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, \n // requestId: `Q-${getUUID()}-${i}`,\n interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: {\n type: 'prometheus',\n uid: 'prometheus'\n }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))),\n range: {\n from: fromDate.toISOString(),\n to: toDate.toISOString(),\n raw: {\n from: fromDate.toISOString(),\n to: toDate.toISOString()\n }\n },\n from: '' + fromDate.valueOf(),\n to: '' + toDate.valueOf()\n };\n let requestId = data.queries.reduce((acc, v) => (acc += v.key), '');\n data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q)));\n let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`;\n busyboxCmd = busyboxCmd.replace(/'/g, \"'\\\\''\");\n core.debug(`getDataFromGrafana kube request:\\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`);\n return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8');\n });\n}\nexports.getDataFromGrafana = getDataFromGrafana;\nfunction parseRawGraph(dataString) {\n const data = JSON.parse(dataString);\n core.debug('Parsed JSON graph data ' + JSON.stringify(data));\n const keys = Object.keys(data.results);\n core.debug('Process graph data');\n return keys.reduce((acc, k) => {\n acc[k] = data.results[k].frames.map((f) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0],\n labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels\n });\n });\n return acc;\n }, {});\n}\nexports.parseRawGraph = parseRawGraph;\nfunction filterGraphData(filter) {\n return function filterGraphFun(result) {\n return Object.entries(filter).reduce((prev, filt) => {\n return prev && result.labels[filt[0]] === filt[1];\n }, true);\n };\n}\nexports.filterGraphData = filterGraphData;\nfunction checkGraphValues(workloadId, realResults, desiredResults) {\n // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]}\n let checks = [];\n for (const queryName of Object.keys(desiredResults)) {\n const result = realResults[queryName];\n const desired = desiredResults[queryName];\n for (const desiredRes of desired) {\n const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter);\n let inspected = (result || []).filter(filterGraphData(filter));\n const checkName = `${queryName}${JSON.stringify(filter)}`;\n if (inspected.length === 0) {\n checks.push([\n checkName,\n 'notfound',\n `Not found results by filter to inspect`\n ]);\n }\n else {\n for (const [i, inspectedRes] of Object.entries(inspected)) {\n const decision = desiredRes.value[0] === '>'\n ? inspectedRes.value > desiredRes.value[1]\n : inspectedRes.value < desiredRes.value[1];\n checks.push([\n `${checkName}[${i}]`,\n decision ? 'ok' : 'error',\n `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}`\n ]);\n }\n }\n }\n }\n return checks;\n}\nexports.checkGraphValues = checkGraphValues;\nfunction checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n core.info('Check results');\n core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`);\n if (!queries)\n queries = [\n {\n refId: 'success_rate',\n expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0',\n interval: '1s'\n },\n {\n refId: 'max_99_latency',\n expr: 'max_over_time(latency{quantile=\"0.99\"}[$__range])>0',\n interval: ''\n },\n {\n refId: 'fail_interval',\n expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0',\n interval: '1s'\n }\n ];\n const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () {\n const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries);\n core.debug('graphsRaw: ' + graphsRaw);\n return parseRawGraph(graphsRaw);\n }));\n core.debug('parsed: ' + JSON.stringify(parsed));\n const checks = checkGraphValues(workloadId, parsed, desiredResults);\n for (let i = 0; i < checks.length; i++) {\n const conclusion = checks[i][1] === 'error'\n ? 'failure'\n : checks[i][1] === 'notfound'\n ? 'neutral'\n : 'success';\n const checkParams = {\n owner: github.context.repo.owner,\n repo: github.context.repo.repo,\n name: `slo_check_${checks[i][0]}`,\n status: 'completed',\n conclusion: conclusion,\n output: {\n title: `SLO results check #${0}`,\n summary: checks[i][2],\n text: checks[i][2]\n }\n };\n yield octokit.rest.checks.create(checkParams);\n }\n return checks.filter(ch => ch[1] == 'error').length > 0;\n });\n}\nexports.checkResults = checkResults;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst callExecutables_1 = require(\"./callExecutables\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nlet databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content;\nlet storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content;\n/**\n * Create cluster with selected version\n * @param version YDB docker version\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction createCluster(version = '23.1.19', timeout, checkPeriod = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () {\n databaseManifest = databaseManifest.replace('${{VERSION}}', version);\n storageManifest = storageManifest.replace('${{VERSION}}', version);\n core.debug('database manifest:\\n\\n' + databaseManifest);\n core.debug('storage manifest:\\n\\n' + storageManifest);\n core.info('Apply database and storage manifests');\n core.info('storage apply result:\\n' +\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n core.debug('check status of cluster');\n const databaseStatus = getStatus('database');\n const storageStatus = getStatus('storage');\n core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`);\n if (databaseStatus !== lastDatabaseStatus) {\n core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`);\n lastDatabaseStatus = databaseStatus;\n }\n if (storageStatus !== lastStorageStatus) {\n core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`);\n lastStorageStatus = storageStatus;\n }\n if (databaseStatus === 'Ready' && storageStatus === 'Ready')\n return true;\n return false;\n }));\n }));\n });\n}\nexports.createCluster = createCluster;\nfunction getYdbVersions() {\n return (0, groupDecorator_1.logGroup)('Get versions', () => {\n const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb');\n const versions = versionsString.split('\\n').filter(s => s.length > 0);\n versions.sort();\n return versions;\n });\n}\nexports.getYdbVersions = getYdbVersions;\nfunction getStatus(statusOf) {\n const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`);\n return JSON.parse(res).state;\n}\nfunction deleteCluster() {\n return (0, groupDecorator_1.logGroup)('Delete cluster', () => {\n core.info('Delete database and storage manifests');\n try {\n core.info('Database delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample'));\n }\n catch (error) {\n core.info('Error while deleting database' + JSON.stringify(error));\n }\n try {\n core.info('Storage delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample'));\n }\n catch (error) {\n core.info('Error while deleting storage' + JSON.stringify(error));\n }\n try {\n const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath=\"{.items[*].metadata.name}\" -l ydb-cluster=slo-storage');\n core.debug('pvcs' + pvcs);\n core.info('PVC delete result:\\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`));\n }\n catch (error) {\n core.info('Error while deleting pvcs' + JSON.stringify(error));\n }\n });\n}\nexports.deleteCluster = deleteCluster;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.annotate = exports.errorScheduler = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nlet grafanaPod = null;\nfunction errorScheduler(grafanaPodName, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n // get database target's IP\n const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\\n')[0];\n core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`);\n // get grafana pod name\n grafanaPod = grafanaPodName;\n core.info(`Grafana pod name: ${grafanaPod}`);\n // wait until workload start?\n // what is workload to wait to start for?\n // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => {\n // const status = JSON.parse(\n // await callKubernetesAsync(\n // `get job/${workloadId}-wl-run -o=jsonpath={.status}`\n // )\n // )\n // if(status?.phase === 'Running') return true\n // return false\n // })\n yield new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n });\n const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` +\n ` sh -c \"wget -q -O- '${targetIP}:8765/tablets/app?` +\n `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' \"`;\n // freeze\n yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS);\n // unfreeze\n yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS);\n // delete pod\n yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS);\n // force delete pod\n yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS);\n // kill from inside\n yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c \"kill -2 1 && echo 'process killed'\"`, timeBetweenS);\n // TODO: add process sleep\n });\n}\nexports.errorScheduler = errorScheduler;\nfunction createError(name, kubeCommand, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Promise.allSettled([\n // run command\n (0, callExecutables_1.callKubernetesAsync)(kubeCommand),\n // annotate\n annotate(name),\n // wait till next\n new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n })\n ]).then(v => {\n if (v.filter(p => p.status === 'rejected').length > 0)\n return Promise.reject('Error in YDB error creation');\n });\n });\n}\n// no tags, but possible to add if needed\nfunction annotate(text, dashboardUID = '7CzMl5t4k') {\n const annotationsUrl = 'http://localhost:3000/api/annotations';\n const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`;\n const data = `{\\\\\"dashboardUID\\\\\":\\\\\"${dashboardUID}\\\\\", \\\\\"text\\\\\":\\\\\"${text}\\\\\", \\\\\"tags\\\\\":[]}`;\n return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c \"${createWgetPost(annotationsUrl, data)}\"`);\n}\nexports.annotate = annotate;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfrastractureEndpoints = void 0;\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nfunction getInfrastractureEndpoints() {\n return __awaiter(this, void 0, void 0, function* () {\n const services = [\n 'prometheus-operator',\n 'prometheus',\n 'prometheus-pushgateway',\n 'grafana',\n 'grafana-renderer',\n 'ydb-operator'\n ];\n return Promise.allSettled(services.map(getEndpoint)).then(res => {\n const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected');\n if (servicesWithoutPods.length > 0) {\n throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`);\n }\n return {\n prometheusOperator: res[0].value,\n prometheus: res[1].value,\n prometheusPushgateway: res[2].value,\n grafana: res[3].value,\n grafanaRenderer: res[4].value,\n ydbOperator: res[5].value\n };\n });\n });\n}\nexports.getInfrastractureEndpoints = getInfrastractureEndpoints;\nfunction getEndpoint(kubeName) {\n return (0, retry_1.retry)(2, () => {\n return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l \"app.kubernetes.io/name=${kubeName}\" -o jsonpath=\"{.items[0].metadata.name}\"`).then(s => s.split('\\n')[0]));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postComment = exports.grafanaScreenshot = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst callExecutables_1 = require(\"./callExecutables\");\nfunction grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`);\n const query = `http://grafana/render/d/${dashboard}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`;\n core.debug('grafana query: ' + query);\n const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c \"wget -q -O- '${query}' | base64\"`);\n core.debug('grafana imageb64: ' +\n imageb64.slice(0, 100) +\n '...TRUNCATED...' +\n imageb64.slice(-100));\n // write image to fs\n yield (0, callExecutables_1.callAsync)(`echo \"${imageb64}\" | base64 --decode > pic.png`);\n const pictureName = `${workloadId}-${new Date().valueOf()}.png`;\n // upload\n yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png \"s3://${path_1.default.join(s3Folder, pictureName)}\"`);\n // delete\n yield (0, callExecutables_1.callAsync)(`rm pic.png`);\n // return name\n const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName);\n core.debug('fullPictureUri: ' + fullPictureUri);\n return `${fullPictureUri}`;\n });\n}\nexports.grafanaScreenshot = grafanaScreenshot;\nfunction postComment(octokit, id, message) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!github_1.context.payload.pull_request)\n return;\n const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message });\n try {\n yield octokit.rest.issues.createComment(data);\n }\n catch (error) {\n yield octokit.rest.issues.updateComment(data);\n }\n });\n}\nexports.postComment = postComment;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst parseArguments_1 = require(\"./parseArguments\");\nconst callExecutables_1 = require(\"./callExecutables\");\nconst mutex_1 = require(\"./mutex\");\nconst cluster_1 = require(\"./cluster\");\nconst workload_1 = require(\"./workload\");\nconst getInfrastractureEndpoints_1 = require(\"./getInfrastractureEndpoints\");\nconst errorScheduler_1 = require(\"./errorScheduler\");\nconst retry_1 = require(\"./utils/retry\");\nconst checkResults_1 = require(\"./checkResults\");\nconst grafanaScreenshot_1 = require(\"./grafanaScreenshot\");\nconst crypto_1 = require(\"crypto\");\nconst isPullRequest = !!github.context.payload.pull_request;\nfunction main() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)();\n core.debug(`Setting up OctoKit`);\n const octokit = github.getOctokit(githubToken);\n (0, callExecutables_1.prepareK8S)(kubeconfig);\n (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig);\n yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword);\n // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer\n const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)();\n core.info(`Services pods: ${JSON.stringify(servicesPods)}`);\n core.info('Run SLO tests for: \\n' +\n workloads\n .map(option => {\n let str = `#${option.id}`;\n str += option.name ? `(${option.name})\\n` : '\\n';\n str += `path: '${option.path}'\\n`;\n str += option.buildContext\n ? `build context: '${option.buildContext}'\\n`\n : '';\n str += option.buildOptions\n ? `build options: '${option.buildOptions}'\\n`\n : '';\n return str;\n })\n .join('==='));\n const mutexId = workloads.length > 1\n ? workloads.map(v => v.id).join('__+__')\n : workloads[0].id;\n yield (0, mutex_1.obtainMutex)(mutexId, 30);\n core.info('Mutex obtained!');\n const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id));\n core.info('Create cluster and build all workloads');\n const builded = workloads.map(() => false);\n const clusterWorkloadRes = yield Promise.allSettled([\n (0, cluster_1.createCluster)(ydbVersion, 15),\n // TODO: create placeholder pods for databases\n // TODO: catch build error and stop cluster creation\n ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => {\n builded[idx] = true;\n }))\n ]);\n /** Indicates that cluster created, some of workloads builded and it's possible to run wl */\n const continueRun = clusterWorkloadRes[0].status === 'fulfilled' &&\n builded.filter(v => v).length > 0;\n core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`);\n if (builded.every(v => v)) {\n core.info('All workloads builded successfully');\n }\n else {\n if (continueRun) {\n builded.map((done, i) => {\n if (!done)\n core.info(`Error in '${workloads[i].id}' build`);\n else\n core.info(`'${workloads[i].id}' build successful`);\n });\n }\n else {\n core.info('No workloads builded!');\n }\n }\n if (continueRun) {\n // retry create operation one time in case of error\n const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () {\n return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: 2,\n args: `--min-partitions-count 6 --max-partitions-count 1000 ` +\n `--partition-size 1 --initial-data-count 1000`\n }));\n })));\n core.debug('create results: ' + JSON.stringify(createResult));\n if (createResult.filter(r => r.status === 'fulfilled').length === 0) {\n throw new Error('No workloads performed `create` action, exit');\n }\n else {\n // run in parrallel without retries\n const runResult = yield Promise.allSettled([\n ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60),\n args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` +\n `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`\n })),\n (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases)\n ]);\n core.debug('run results: ' + JSON.stringify(runResult));\n if (runResult\n .slice(0, workloads.length)\n .filter(r => r.status === 'fulfilled').length === 0) {\n core.info('No successfull workload runs!');\n throw new Error('No workloads runs completed successfully');\n }\n else {\n // TODO: somehow use objectives as input\n const objectives = {\n success_rate: [{ filter: {}, value: ['>', 0.98] }],\n max_99_latency: [\n { filter: { status: 'ok' }, value: ['<', 100] },\n { filter: { status: 'err' }, value: ['<', 30000] }\n ],\n fail_interval: [{ filter: {}, value: ['<', 20] }]\n };\n let promises = [];\n runResult.map((r, i) => {\n if (r.status === 'fulfilled' && i !== runResult.length - 1) {\n const timings = r.value;\n promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives));\n core.debug('isPullRequest=' + isPullRequest);\n if (isPullRequest) {\n core.debug('Push to promises grafana screenshot and postComment');\n promises.push((() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard);\n const comment = `\n :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**:\n \n [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()})\n \n ![SLO-${workloads[i].id}](${pictureUri})`;\n yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1')\n .update('nodejs-1')\n .digest()\n .readUint32BE(), comment);\n }))());\n }\n }\n });\n const res = yield Promise.allSettled(promises);\n core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res));\n }\n }\n }\n (0, cluster_1.deleteCluster)();\n (0, mutex_1.releaseMutex)();\n }\n catch (error) {\n if (error instanceof Error)\n core.setFailed(error.message);\n }\n });\n}\nconst isPostAction = !!core.getState('isPost');\nif (isPostAction) {\n core.info('Cleanup');\n core.debug('Remove .kube dir');\n (0, callExecutables_1.call)('rm -rf ~/.kube');\n core.debug('Remove .aws dir');\n (0, callExecutables_1.call)('rm -rf ~/.aws');\n}\nelse {\n main();\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseMutex = exports.obtainMutex = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\n/** Is mutex busy (configmap has field busy) */\nfunction isBusy(name) {\n var _a, _b, _c;\n core.debug(`isBusy(${name})`);\n const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`);\n core.debug('isBusy result: ' + res);\n const configmap = JSON.parse(res);\n core.debug('configmap parsed: ' + JSON.stringify(configmap));\n if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) {\n core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`);\n return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy;\n }\n return false;\n}\nfunction setBusy(lockedBy) {\n core.debug(`setBusy(${lockedBy})`);\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n}\n/**\n * Obtain mutex\n * @param workloadId id to mention in mutex\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction obtainMutex(workloadId, timeout, checkPeriod = 20) {\n return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () {\n return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => {\n const busy = isBusy('slo-mutex');\n if (typeof busy === 'boolean' && !busy) {\n core.debug('Set mutex');\n setBusy(workloadId);\n core.info('Mutex obtained');\n core.debug('Mutex sleep 5s');\n (0, callExecutables_1.call)('sleep 5');\n core.debug('Re-check after sleep');\n const mutexObtainedBy = isBusy('slo-mutex');\n if (mutexObtainedBy !== workloadId) {\n core.info('Mutex is not obtained!');\n return false;\n }\n return true;\n }\n return false;\n });\n }));\n}\nexports.obtainMutex = obtainMutex;\nfunction releaseMutex() {\n return (0, groupDecorator_1.logGroup)('Release mutex', () => {\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n });\n}\nexports.releaseMutex = releaseMutex;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst cluster_1 = require(\"./cluster\");\nfunction parseArguments() {\n return (0, groupDecorator_1.logGroup)('Parse arguments', () => {\n let workloads = [];\n let i = -1, haveValue = true;\n do {\n const readedValue = getWorkloadParam(i);\n if (null === readedValue) {\n // can start from '' or from 0\n if (i !== -1)\n haveValue = false;\n }\n else {\n workloads.push(readedValue);\n }\n i++;\n } while (haveValue);\n const githubToken = core.getInput('GITHUB_TOKEN');\n const kubeconfig = core.getInput('KUBECONFIG_B64');\n const dockerRepo = core.getInput('DOCKER_REPO');\n const dockerFolder = core.getInput('DOCKER_FOLDER');\n const dockerUsername = core.getInput('DOCKER_USERNAME');\n const dockerPassword = core.getInput('DOCKER_PASSWORD');\n const awsCredentials = core.getInput('AWS_CREDENTIALS_B64');\n const awsConfig = core.getInput('AWS_CONFIG_B64');\n const s3Endpoint = core.getInput('s3_endpoint');\n const s3Folder = core.getInput('s3_images_folder');\n const grafanaDomain = core.getInput('grafana_domain');\n const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k';\n let ydbVersion = core.getInput('ydb_version');\n const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20');\n const shutdownTime = Number(core.getInput('shutdown_time') || '30');\n if (isNaN(timeBetweenPhases))\n throw new Error('time_between_phases is not a number');\n if (isNaN(shutdownTime))\n throw new Error('shutdown_time is not a number');\n if (ydbVersion === '')\n ydbVersion = '23.1.26';\n if (ydbVersion === 'newest') {\n core.info('Get YDB docker versions');\n const ydbVersions = (0, cluster_1.getYdbVersions)();\n ydbVersion = ydbVersions[ydbVersions.length - 1];\n core.info(`Use YDB docker version = '${ydbVersion}'`);\n }\n // TODO: add other args\n return {\n workloads,\n githubToken,\n kubeconfig,\n awsCredentials,\n awsConfig,\n s3Endpoint,\n s3Folder,\n dockerRepo,\n dockerFolder,\n dockerUsername,\n dockerPassword,\n ydbVersion,\n timeBetweenPhases,\n shutdownTime,\n grafanaDomain,\n grafanaDashboard\n };\n });\n}\nexports.parseArguments = parseArguments;\nfunction getWorkloadParam(id) {\n let suffix = id == -1 ? '' : `${id}`;\n const languageId = core.getInput('language_id' + suffix);\n const languageName = core.getInput('language' + suffix);\n const workloadPath = core.getInput('workload_path' + suffix);\n const workloadBuildContext = core.getInput('workload_build_context' + suffix);\n const workloadBuildOptions = core.getInput('workload_build_options' + suffix);\n core.debug(`getWorkloadParam(${id}):\n suffix='${suffix}'\n languageId='${languageId}'\n languageName='${languageName}'\n workloadPath='${workloadPath}'\n workloadBuildContext='${workloadBuildContext}'\n workloadBuildOptions='${workloadBuildOptions}'`);\n // id and path are required\n if (languageId.length === 0 || workloadPath.length === 0) {\n core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`);\n return null;\n }\n let options = {\n id: languageId,\n path: workloadPath\n };\n if (languageName)\n options.name = languageName;\n if (workloadBuildContext)\n options.buildContext = workloadBuildContext;\n if (workloadBuildOptions)\n options.buildOptions = workloadBuildOptions;\n return options;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logGroup = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nfunction logGroup(name, fun) {\n core.startGroup(name);\n const res = fun();\n if (res instanceof Promise) {\n return res.finally(() => {\n core.endGroup();\n });\n }\n else {\n core.endGroup();\n return res;\n }\n}\nexports.logGroup = logGroup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nfunction retry(retries, inner) {\n return __awaiter(this, void 0, void 0, function* () {\n let error;\n while (retries > 0) {\n try {\n return yield inner();\n }\n catch (e) {\n error = e;\n }\n retries--;\n }\n core.info('All retries have been used, re-throwing error');\n throw error;\n });\n}\nexports.retry = retry;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nclass TimeoutExceededError extends Error {\n}\nexports.TimeoutExceededError = TimeoutExceededError;\nfunction withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`);\n const deadline = new Date().valueOf() + timeoutM * 1000 * 60;\n core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n do {\n core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n if (yield checkFunc())\n return;\n yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000));\n } while (new Date().valueOf() < deadline);\n core.debug(`withTimeout throw timeout`);\n throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`);\n });\n}\nexports.withTimeout = withTimeout;\nfunction withTimeoutSimple(timeoutS, func) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.race([\n func,\n new Promise((_, reject) => setTimeout(reject, timeoutS * 1000))\n ]);\n });\n}\nexports.withTimeoutSimple = withTimeoutSimple;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nconst workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content;\nfunction dockerLogin(repo, user, password) {\n return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () {\n try {\n yield (0, callExecutables_1.callAsync)(`echo \"${password}\" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true);\n core.info('Successfully logged in');\n }\n catch (error) {\n // suppress error revealing user and password\n const msg = 'Incorrect docker repo, username or password';\n if ((error === null || error === void 0 ? void 0 : error.message) &&\n (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) {\n core.info(msg);\n }\n else {\n core.info('Something went wrong in docker login');\n }\n throw new Error(msg);\n }\n }));\n}\nexports.dockerLogin = dockerLogin;\nfunction generateDockerPath(repo, folder, id) {\n return `${repo}/${folder}/${id}`;\n}\nexports.generateDockerPath = generateDockerPath;\nfunction buildWorkload(id, dockerImage, workingDir, options, context) {\n if (!options || options.length === 0)\n options = '';\n if (!context || context.length === 0)\n context = '.';\n return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () {\n core.info('Build docker image');\n yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` +\n `-t ${dockerImage}:latest ` +\n `-t ${dockerImage}:gh-${github.context.sha} ` +\n `${options} ` +\n `${context}`, false, workingDir);\n core.info('Push docker tag @latest');\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`);\n core.info(`Push docker tag '@gh-${github.context.sha}'`);\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`);\n }));\n}\nexports.buildWorkload = buildWorkload;\nfunction runWorkload(command, options) {\n return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () {\n const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`;\n const workloadManifest = workloadManifestTemplate\n .replace(/\\$\\{\\{LANGUAGE_ID\\}\\}/g, options.id)\n .replace(/\\$\\{\\{COMMAND\\}\\}/g, command)\n .replace(/\\$\\{\\{DOCKER_IMAGE\\}\\}/g, options.dockerPath)\n .replace('${{ARGS}}', containerArgs\n .split(' ')\n .map(s => `'${s}'`)\n .join('\\n - '));\n core.debug(`Workload manifest: \\n\\n${workloadManifest}`);\n const startTime = new Date();\n core.info(`Workload apply ${command} result:\\n` +\n (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`));\n core.debug('Workload status check: ' + JSON.stringify(status));\n if (status.failed) {\n const msg = `Workload ${options.id} ${command} failed`;\n core.info(msg);\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n throw new Error(msg);\n }\n if (status.complete || status.succeeded)\n return true;\n return false;\n }));\n const endTime = new Date();\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n return { startTime, endTime };\n }));\n}\nexports.runWorkload = runWorkload;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n var _a, _b, _c;\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;\n this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;\n this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options, ...additionalPlugins) {\n const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);\n return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nexports.defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\n//# sourceMappingURL=proxy.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nconst Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\"POST /orgs/{org}/actions/runners/{runner_id}/labels\"],\n addCustomLabelsToSelfHostedRunnerForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n approveWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteActionsCacheById: [\"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"],\n deleteActionsCacheByKey: [\"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunAttemptLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\"GET /orgs/{org}/actions/cache/usage-by-repository\"],\n getActionsCacheUsageForEnterprise: [\"GET /enterprises/{enterprise}/actions/cache/usage\"],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/workflow\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/access\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listJobsForWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"],\n listLabelsForSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}/labels\"],\n listLabelsForSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForOrg: [\"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"],\n setCustomLabelsForSelfHostedRunnerForRepo: [\"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"],\n setWorkflowAccessToRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/access\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"]\n }],\n addRepoToInstallationForAuthenticatedUser: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\"POST /app/hook/deliveries/{delivery_id}/attempts\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"]\n }],\n removeRepoFromInstallationForAuthenticatedUser: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubAdvancedSecurityBillingGhe: [\"GET /enterprises/{enterprise}/settings/billing/advanced-security\"],\n getGithubAdvancedSecurityBillingOrg: [\"GET /orgs/{org}/settings/billing/advanced-security\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", {}, {\n renamed: [\"codeScanning\", \"listAlertInstances\"]\n }],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n codespaceMachinesForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/machines\"],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n createOrUpdateSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}\"],\n createWithPrForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"],\n createWithRepoForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/codespaces\"],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n deleteSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}\"],\n exportForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/exports\"],\n getExportDetailsForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/exports/{export_id}\"],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\"GET /user/codespaces/secrets/public-key\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n getSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}\"],\n listDevcontainersInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/devcontainers\"],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\"GET /orgs/{org}/codespaces\", {}, {\n renamedParameters: {\n org_id: \"org\"\n }\n }],\n listInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}/repositories\"],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n repoMachinesForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/machines\"],\n setRepositoriesForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories\"],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"],\n diffRange: [\"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n getServerStatistics: [\"GET /enterprise-installation/{enterprise_or_org}/server-statistics\"],\n listLabelsForSelfHostedRunnerForEnterprise: [\"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\"],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\"],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\"],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\"],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/repositories\"],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {}, {\n renamed: [\"migrations\", \"listReposForAuthenticatedUser\"]\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\"],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\"],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n createForRelease: [\"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n listForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"]\n }],\n acceptInvitationForAuthenticatedUser: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\"],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\"GET /repos/{owner}/{repo}/compare/{basehead}\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\"],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"]\n }],\n declineInvitationForAuthenticatedUser: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteTagProtection: [\"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\"],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\"],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\"],\n generateReleaseNotes: [\"POST /repos/{owner}/{repo}/releases/generate-notes\"],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForEnterprise: [\"GET /enterprises/{enterprise}/secret-scanning/alerts\"],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailForAuthenticatedUser\"]\n }],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"]\n }],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"]\n }],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"]\n }],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"]\n }],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"]\n }],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"]\n }],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"]\n }],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticatedUser\"]\n }],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticatedUser\"]\n }],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticatedUser\"]\n }],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"]\n }],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"]\n }],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"]\n }],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"5.16.2\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexports.legacyRestEndpointMethods = legacyRestEndpointMethods;\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");","module.exports = require(\"child_process\");","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3109);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACllCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;AEDA;AACA;AACA;AACA","sources":["../webpack://slo-tests/./lib/callExecutables.js","../webpack://slo-tests/./lib/checkResults.js","../webpack://slo-tests/./lib/cluster.js","../webpack://slo-tests/./lib/errorScheduler.js","../webpack://slo-tests/./lib/getInfrastractureEndpoints.js","../webpack://slo-tests/./lib/grafanaScreenshot.js","../webpack://slo-tests/./lib/main.js","../webpack://slo-tests/./lib/mutex.js","../webpack://slo-tests/./lib/parseArguments.js","../webpack://slo-tests/./lib/utils/groupDecorator.js","../webpack://slo-tests/./lib/utils/retry.js","../webpack://slo-tests/./lib/utils/withTimeout.js","../webpack://slo-tests/./lib/workload.js","../webpack://slo-tests/./node_modules/@actions/core/lib/command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/core.js","../webpack://slo-tests/./node_modules/@actions/core/lib/file-command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/path-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/summary.js","../webpack://slo-tests/./node_modules/@actions/core/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/context.js","../webpack://slo-tests/./node_modules/@actions/github/lib/github.js","../webpack://slo-tests/./node_modules/@actions/github/lib/internal/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/auth.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/index.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/proxy.js","../webpack://slo-tests/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/core/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request/dist-node/index.js","../webpack://slo-tests/./node_modules/before-after-hook/index.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/add.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/register.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/remove.js","../webpack://slo-tests/./node_modules/deprecation/dist-node/index.js","../webpack://slo-tests/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://slo-tests/./node_modules/node-fetch/lib/index.js","../webpack://slo-tests/./node_modules/once/once.js","../webpack://slo-tests/./node_modules/tr46/index.js","../webpack://slo-tests/./node_modules/tunnel/index.js","../webpack://slo-tests/./node_modules/tunnel/lib/tunnel.js","../webpack://slo-tests/./node_modules/universal-user-agent/dist-node/index.js","../webpack://slo-tests/./node_modules/uuid/dist/index.js","../webpack://slo-tests/./node_modules/uuid/dist/md5.js","../webpack://slo-tests/./node_modules/uuid/dist/nil.js","../webpack://slo-tests/./node_modules/uuid/dist/parse.js","../webpack://slo-tests/./node_modules/uuid/dist/regex.js","../webpack://slo-tests/./node_modules/uuid/dist/rng.js","../webpack://slo-tests/./node_modules/uuid/dist/sha1.js","../webpack://slo-tests/./node_modules/uuid/dist/stringify.js","../webpack://slo-tests/./node_modules/uuid/dist/v1.js","../webpack://slo-tests/./node_modules/uuid/dist/v3.js","../webpack://slo-tests/./node_modules/uuid/dist/v35.js","../webpack://slo-tests/./node_modules/uuid/dist/v4.js","../webpack://slo-tests/./node_modules/uuid/dist/v5.js","../webpack://slo-tests/./node_modules/uuid/dist/validate.js","../webpack://slo-tests/./node_modules/uuid/dist/version.js","../webpack://slo-tests/./node_modules/webidl-conversions/lib/index.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/public-api.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/utils.js","../webpack://slo-tests/./node_modules/wrappy/wrappy.js","../webpack://slo-tests/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://slo-tests/external node-commonjs \"assert\"","../webpack://slo-tests/external node-commonjs \"child_process\"","../webpack://slo-tests/external node-commonjs \"crypto\"","../webpack://slo-tests/external node-commonjs \"events\"","../webpack://slo-tests/external node-commonjs \"fs\"","../webpack://slo-tests/external node-commonjs \"http\"","../webpack://slo-tests/external node-commonjs \"https\"","../webpack://slo-tests/external node-commonjs \"net\"","../webpack://slo-tests/external node-commonjs \"os\"","../webpack://slo-tests/external node-commonjs \"path\"","../webpack://slo-tests/external node-commonjs \"punycode\"","../webpack://slo-tests/external node-commonjs \"stream\"","../webpack://slo-tests/external node-commonjs \"tls\"","../webpack://slo-tests/external node-commonjs \"url\"","../webpack://slo-tests/external node-commonjs \"util\"","../webpack://slo-tests/external node-commonjs \"zlib\"","../webpack://slo-tests/webpack/bootstrap","../webpack://slo-tests/webpack/runtime/compat","../webpack://slo-tests/webpack/before-startup","../webpack://slo-tests/webpack/startup","../webpack://slo-tests/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst child_process_1 = require(\"child_process\");\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nconst path_1 = __importDefault(require(\"path\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nlet kubectlPath = null;\nlet callId = 0;\nfunction prepareK8S(base64kubeconfig) {\n return (0, groupDecorator_1.logGroup)('Prepare k8s', () => {\n // create ~/.kube folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add kubeconfig\n if (base64kubeconfig.length > 0) {\n core.debug('Get kubeconfig string');\n const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8');\n core.info(`Write kubeconfig to ~/.kube/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig);\n }\n kubectlPath = call('which kubectl').split('\\n')[0];\n core.info(`kubectl path: ${kubectlPath}`);\n });\n}\nexports.prepareK8S = prepareK8S;\nfunction prepareAWS(awsCredentialsB64, awsConfigB64) {\n // create ~/.aws folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add awsCredentials\n if (awsCredentialsB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8');\n core.info(`Write awsCredentials to ~/.aws/credentials`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials);\n }\n // add awsConfig\n if (awsConfigB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8');\n core.info(`Write awsConfig to ~/.aws/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig);\n }\n}\nexports.prepareAWS = prepareAWS;\nfunction call(command, secret = false) {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' });\n core.debug(`Call #${id} result ${spawnResult}`);\n return spawnResult;\n}\nexports.call = call;\nfunction callAsync(command, secret = false, cwd = '.') {\n return new Promise((resolve, reject) => {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd });\n if (!proc.stdio || !proc.stdout || !proc.stderr) {\n core.info(`Error in callAsync #${id}: can't spawn process`);\n throw new Error(`Error in callAsync #${id}: can't spawn process`);\n }\n let out = '', err = '';\n proc.stdout.on('data', data => (out += data.toString()));\n proc.stderr.on('data', data => (err += data.toString()));\n proc.on('close', code => {\n core.debug(`Call #${id} async code = ${code}`);\n if (code == 0) {\n core.debug(`Call #${id} async output \\n${out}`);\n resolve(out);\n }\n else {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on close`);\n else\n core.debug(`Call #${id} async failed - on close:\\n${err}`);\n reject(new Error(err));\n }\n });\n proc.on('error', err => {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on error`);\n else\n core.debug(`Call #${id} async failed - on error:\\n${err}`);\n reject(err);\n });\n });\n}\nexports.callAsync = callAsync;\nfunction callKubernetes(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(`${kubectlPath} ${command}`);\n}\nexports.callKubernetes = callKubernetes;\nfunction callKubernetesPath(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPath = callKubernetesPath;\nfunction callKubernetesAsync(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(`${kubectlPath} ${command}`);\n}\nexports.callKubernetesAsync = callKubernetesAsync;\nfunction callKubernetesPathAsync(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPathAsync = callKubernetesPathAsync;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nfunction getUUID() {\n const hexstring = crypto_1.default.randomBytes(16).toString('hex');\n return (hexstring.substring(0, 8) +\n '-' +\n hexstring.substring(8, 12) +\n '-' +\n hexstring.substring(12, 16) +\n '-' +\n hexstring.substring(16, 20) +\n '-' +\n hexstring.substring(20));\n}\nexports.getUUID = getUUID;\nfunction getDataFromGrafana(fromDate, toDate, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = {\n queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, \n // requestId: `Q-${getUUID()}-${i}`,\n interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: {\n type: 'prometheus',\n uid: 'prometheus'\n }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))),\n range: {\n from: fromDate.toISOString(),\n to: toDate.toISOString(),\n raw: {\n from: fromDate.toISOString(),\n to: toDate.toISOString()\n }\n },\n from: '' + fromDate.valueOf(),\n to: '' + toDate.valueOf()\n };\n let requestId = data.queries.reduce((acc, v) => (acc += v.key), '');\n data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q)));\n let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`;\n busyboxCmd = busyboxCmd.replace(/'/g, \"'\\\\''\");\n core.debug(`getDataFromGrafana kube request:\\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`);\n return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8');\n });\n}\nexports.getDataFromGrafana = getDataFromGrafana;\nfunction parseRawGraph(dataString) {\n const data = JSON.parse(dataString);\n core.debug('Parsed JSON graph data ' + JSON.stringify(data));\n const keys = Object.keys(data.results);\n core.debug('Process graph data');\n return keys.reduce((acc, k) => {\n acc[k] = data.results[k].frames.map((f) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0],\n labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels\n });\n });\n return acc;\n }, {});\n}\nexports.parseRawGraph = parseRawGraph;\nfunction filterGraphData(filter) {\n return function filterGraphFun(result) {\n return Object.entries(filter).reduce((prev, filt) => {\n return prev && result.labels[filt[0]] === filt[1];\n }, true);\n };\n}\nexports.filterGraphData = filterGraphData;\nfunction checkGraphValues(workloadId, realResults, desiredResults) {\n // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]}\n let checks = [];\n for (const queryName of Object.keys(desiredResults)) {\n const result = realResults[queryName];\n const desired = desiredResults[queryName];\n for (const desiredRes of desired) {\n const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter);\n let inspected = (result || []).filter(filterGraphData(filter));\n const checkName = `${queryName}${JSON.stringify(filter)}`;\n if (inspected.length === 0) {\n checks.push([\n checkName,\n 'notfound',\n `Not found results by filter to inspect`\n ]);\n }\n else {\n for (const [i, inspectedRes] of Object.entries(inspected)) {\n const decision = desiredRes.value[0] === '>'\n ? inspectedRes.value > desiredRes.value[1]\n : inspectedRes.value < desiredRes.value[1];\n checks.push([\n `${checkName}[${i}]`,\n decision ? 'ok' : 'error',\n `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}`\n ]);\n }\n }\n }\n }\n return checks;\n}\nexports.checkGraphValues = checkGraphValues;\nfunction checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n core.info('Check results');\n core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`);\n if (!queries)\n queries = [\n {\n refId: 'success_rate',\n expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0',\n interval: '1s'\n },\n {\n refId: 'max_99_latency',\n expr: 'max_over_time(latency{quantile=\"0.99\"}[$__range])>0',\n interval: ''\n },\n {\n refId: 'fail_interval',\n expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0',\n interval: '1s'\n }\n ];\n const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () {\n const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries);\n core.debug('graphsRaw: ' + graphsRaw);\n return parseRawGraph(graphsRaw);\n }));\n core.debug('parsed: ' + JSON.stringify(parsed));\n const checks = checkGraphValues(workloadId, parsed, desiredResults);\n for (let i = 0; i < checks.length; i++) {\n const conclusion = checks[i][1] === 'error'\n ? 'failure'\n : checks[i][1] === 'notfound'\n ? 'neutral'\n : 'success';\n const checkParams = {\n owner: github.context.repo.owner,\n repo: github.context.repo.repo,\n name: `slo_check_${checks[i][0]}`,\n status: 'completed',\n conclusion: conclusion,\n output: {\n title: `SLO results check #${0}`,\n summary: checks[i][2],\n text: checks[i][2]\n }\n };\n yield octokit.rest.checks.create(checkParams);\n }\n return checks.filter(ch => ch[1] == 'error').length > 0;\n });\n}\nexports.checkResults = checkResults;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst callExecutables_1 = require(\"./callExecutables\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nlet databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content;\nlet storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content;\n/**\n * Create cluster with selected version\n * @param version YDB docker version\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction createCluster(version = '23.1.19', timeout, checkPeriod = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () {\n databaseManifest = databaseManifest.replace('${{VERSION}}', version);\n storageManifest = storageManifest.replace('${{VERSION}}', version);\n core.debug('database manifest:\\n\\n' + databaseManifest);\n core.debug('storage manifest:\\n\\n' + storageManifest);\n core.info('Apply database and storage manifests');\n core.info('storage apply result:\\n' +\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n core.debug('check status of cluster');\n const databaseStatus = getStatus('database');\n const storageStatus = getStatus('storage');\n core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`);\n if (databaseStatus !== lastDatabaseStatus) {\n core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`);\n lastDatabaseStatus = databaseStatus;\n }\n if (storageStatus !== lastStorageStatus) {\n core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`);\n lastStorageStatus = storageStatus;\n }\n if (databaseStatus === 'Ready' && storageStatus === 'Ready')\n return true;\n return false;\n }));\n }));\n });\n}\nexports.createCluster = createCluster;\nfunction getYdbVersions() {\n return (0, groupDecorator_1.logGroup)('Get versions', () => {\n const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb');\n const versions = versionsString.split('\\n').filter(s => s.length > 0);\n versions.sort();\n return versions;\n });\n}\nexports.getYdbVersions = getYdbVersions;\nfunction getStatus(statusOf) {\n const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`);\n return JSON.parse(res).state;\n}\nfunction deleteCluster() {\n return (0, groupDecorator_1.logGroup)('Delete cluster', () => {\n core.info('Delete database and storage manifests');\n try {\n core.info('Database delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample'));\n }\n catch (error) {\n core.info('Error while deleting database' + JSON.stringify(error));\n }\n try {\n core.info('Storage delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample'));\n }\n catch (error) {\n core.info('Error while deleting storage' + JSON.stringify(error));\n }\n try {\n const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath=\"{.items[*].metadata.name}\" -l ydb-cluster=slo-storage');\n core.debug('pvcs' + pvcs);\n core.info('PVC delete result:\\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`));\n }\n catch (error) {\n core.info('Error while deleting pvcs' + JSON.stringify(error));\n }\n });\n}\nexports.deleteCluster = deleteCluster;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.annotate = exports.errorScheduler = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nlet grafanaPod = null;\nfunction errorScheduler(grafanaPodName, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n // get database target's IP\n const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\\n')[0];\n core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`);\n // get grafana pod name\n grafanaPod = grafanaPodName;\n core.info(`Grafana pod name: ${grafanaPod}`);\n // wait until workload start?\n // what is workload to wait to start for?\n // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => {\n // const status = JSON.parse(\n // await callKubernetesAsync(\n // `get job/${workloadId}-wl-run -o=jsonpath={.status}`\n // )\n // )\n // if(status?.phase === 'Running') return true\n // return false\n // })\n yield new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n });\n const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` +\n ` sh -c \"wget -q -O- '${targetIP}:8765/tablets/app?` +\n `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' \"`;\n // freeze\n yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS);\n // unfreeze\n yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS);\n // delete pod\n yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS);\n // force delete pod\n yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS);\n // kill from inside\n yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c \"kill -2 1 && echo 'process killed'\"`, timeBetweenS);\n // TODO: add process sleep\n });\n}\nexports.errorScheduler = errorScheduler;\nfunction createError(name, kubeCommand, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Promise.allSettled([\n // run command\n (0, callExecutables_1.callKubernetesAsync)(kubeCommand),\n // annotate\n annotate(name),\n // wait till next\n new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n })\n ]).then(v => {\n if (v.filter(p => p.status === 'rejected').length > 0)\n return Promise.reject('Error in YDB error creation');\n });\n });\n}\n// no tags, but possible to add if needed\nfunction annotate(text, dashboardUID = '7CzMl5t4k') {\n const annotationsUrl = 'http://localhost:3000/api/annotations';\n const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`;\n const data = `{\\\\\"dashboardUID\\\\\":\\\\\"${dashboardUID}\\\\\", \\\\\"text\\\\\":\\\\\"${text}\\\\\", \\\\\"tags\\\\\":[]}`;\n return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c \"${createWgetPost(annotationsUrl, data)}\"`);\n}\nexports.annotate = annotate;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfrastractureEndpoints = void 0;\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nfunction getInfrastractureEndpoints() {\n return __awaiter(this, void 0, void 0, function* () {\n const services = [\n 'prometheus-operator',\n 'prometheus',\n 'prometheus-pushgateway',\n 'grafana',\n 'grafana-renderer',\n 'ydb-operator'\n ];\n return Promise.allSettled(services.map(getEndpoint)).then(res => {\n const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected');\n if (servicesWithoutPods.length > 0) {\n throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`);\n }\n return {\n prometheusOperator: res[0].value,\n prometheus: res[1].value,\n prometheusPushgateway: res[2].value,\n grafana: res[3].value,\n grafanaRenderer: res[4].value,\n ydbOperator: res[5].value\n };\n });\n });\n}\nexports.getInfrastractureEndpoints = getInfrastractureEndpoints;\nfunction getEndpoint(kubeName) {\n return (0, retry_1.retry)(2, () => {\n return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l \"app.kubernetes.io/name=${kubeName}\" -o jsonpath=\"{.items[0].metadata.name}\"`).then(s => s.split('\\n')[0]));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postComment = exports.grafanaScreenshot = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst callExecutables_1 = require(\"./callExecutables\");\nfunction grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`);\n const query = `http://grafana/render/d/${dashboard.split('/')[0]}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`;\n core.debug('grafana query: ' + query);\n const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c \"wget -q -O- '${query}' | base64\"`);\n core.debug('grafana imageb64: ' +\n imageb64.slice(0, 100) +\n '...TRUNCATED...' +\n imageb64.slice(-100));\n // write image to fs\n yield (0, callExecutables_1.callAsync)(`echo \"${imageb64}\" | base64 --decode > pic.png`);\n const pictureName = `${workloadId}-${new Date().valueOf()}.png`;\n // upload\n yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png \"s3://${path_1.default.join(s3Folder, pictureName)}\"`);\n // delete\n yield (0, callExecutables_1.callAsync)(`rm pic.png`);\n // return name\n const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName);\n core.debug('fullPictureUri: ' + fullPictureUri);\n return `${fullPictureUri}`;\n });\n}\nexports.grafanaScreenshot = grafanaScreenshot;\nfunction postComment(octokit, id, message) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!github_1.context.payload.pull_request)\n return;\n const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message });\n try {\n yield octokit.rest.issues.createComment(data);\n }\n catch (error) {\n yield octokit.rest.issues.updateComment(data);\n }\n });\n}\nexports.postComment = postComment;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst parseArguments_1 = require(\"./parseArguments\");\nconst callExecutables_1 = require(\"./callExecutables\");\nconst mutex_1 = require(\"./mutex\");\nconst cluster_1 = require(\"./cluster\");\nconst workload_1 = require(\"./workload\");\nconst getInfrastractureEndpoints_1 = require(\"./getInfrastractureEndpoints\");\nconst errorScheduler_1 = require(\"./errorScheduler\");\nconst retry_1 = require(\"./utils/retry\");\nconst checkResults_1 = require(\"./checkResults\");\nconst grafanaScreenshot_1 = require(\"./grafanaScreenshot\");\nconst crypto_1 = require(\"crypto\");\nconst isPullRequest = !!github.context.payload.pull_request;\nfunction main() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)();\n core.debug(`Setting up OctoKit`);\n const octokit = github.getOctokit(githubToken);\n (0, callExecutables_1.prepareK8S)(kubeconfig);\n (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig);\n yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword);\n // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer\n const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)();\n core.info(`Services pods: ${JSON.stringify(servicesPods)}`);\n core.info('Run SLO tests for: \\n' +\n workloads\n .map(option => {\n let str = `#${option.id}`;\n str += option.name ? `(${option.name})\\n` : '\\n';\n str += `path: '${option.path}'\\n`;\n str += option.buildContext\n ? `build context: '${option.buildContext}'\\n`\n : '';\n str += option.buildOptions\n ? `build options: '${option.buildOptions}'\\n`\n : '';\n return str;\n })\n .join('==='));\n const mutexId = workloads.length > 1\n ? workloads.map(v => v.id).join('__+__')\n : workloads[0].id;\n yield (0, mutex_1.obtainMutex)(mutexId, 30);\n core.info('Mutex obtained!');\n const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id));\n core.info('Create cluster and build all workloads');\n const builded = workloads.map(() => false);\n const clusterWorkloadRes = yield Promise.allSettled([\n (0, cluster_1.createCluster)(ydbVersion, 15),\n // TODO: create placeholder pods for databases\n // TODO: catch build error and stop cluster creation\n ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => {\n builded[idx] = true;\n }))\n ]);\n /** Indicates that cluster created, some of workloads builded and it's possible to run wl */\n const continueRun = clusterWorkloadRes[0].status === 'fulfilled' &&\n builded.filter(v => v).length > 0;\n core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`);\n if (builded.every(v => v)) {\n core.info('All workloads builded successfully');\n }\n else {\n if (continueRun) {\n builded.map((done, i) => {\n if (!done)\n core.info(`Error in '${workloads[i].id}' build`);\n else\n core.info(`'${workloads[i].id}' build successful`);\n });\n }\n else {\n core.info('No workloads builded!');\n }\n }\n if (continueRun) {\n // retry create operation one time in case of error\n const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () {\n return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: 2,\n args: `--min-partitions-count 6 --max-partitions-count 1000 ` +\n `--partition-size 1 --initial-data-count 1000`\n }));\n })));\n core.debug('create results: ' + JSON.stringify(createResult));\n if (createResult.filter(r => r.status === 'fulfilled').length === 0) {\n throw new Error('No workloads performed `create` action, exit');\n }\n else {\n // run in parrallel without retries\n const runResult = yield Promise.allSettled([\n ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60),\n args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` +\n `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`\n })),\n (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases)\n ]);\n core.debug('run results: ' + JSON.stringify(runResult));\n if (runResult\n .slice(0, workloads.length)\n .filter(r => r.status === 'fulfilled').length === 0) {\n core.info('No successfull workload runs!');\n throw new Error('No workloads runs completed successfully');\n }\n else {\n // TODO: somehow use objectives as input\n const objectives = {\n success_rate: [{ filter: {}, value: ['>', 0.98] }],\n max_99_latency: [\n { filter: { status: 'ok' }, value: ['<', 100] },\n { filter: { status: 'err' }, value: ['<', 30000] }\n ],\n fail_interval: [{ filter: {}, value: ['<', 20] }]\n };\n let promises = [];\n runResult.map((r, i) => {\n if (r.status === 'fulfilled' && i !== runResult.length - 1) {\n const timings = r.value;\n promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives));\n core.debug('isPullRequest=' + isPullRequest);\n if (isPullRequest) {\n core.debug('Push to promises grafana screenshot and postComment');\n promises.push((() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard);\n const comment = `\n :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**:\n \n [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()})\n \n ![SLO-${workloads[i].id}](${pictureUri})`;\n yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1')\n .update('nodejs-1')\n .digest()\n .readUint32BE(), comment);\n }))());\n }\n }\n });\n const res = yield Promise.allSettled(promises);\n core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res));\n }\n }\n }\n (0, cluster_1.deleteCluster)();\n (0, mutex_1.releaseMutex)();\n }\n catch (error) {\n if (error instanceof Error)\n core.setFailed(error.message);\n }\n });\n}\nconst isPostAction = !!core.getState('isPost');\nif (isPostAction) {\n core.info('Cleanup');\n core.debug('Remove .kube dir');\n (0, callExecutables_1.call)('rm -rf ~/.kube');\n core.debug('Remove .aws dir');\n (0, callExecutables_1.call)('rm -rf ~/.aws');\n}\nelse {\n main();\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseMutex = exports.obtainMutex = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\n/** Is mutex busy (configmap has field busy) */\nfunction isBusy(name) {\n var _a, _b, _c;\n core.debug(`isBusy(${name})`);\n const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`);\n core.debug('isBusy result: ' + res);\n const configmap = JSON.parse(res);\n core.debug('configmap parsed: ' + JSON.stringify(configmap));\n if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) {\n core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`);\n return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy;\n }\n return false;\n}\nfunction setBusy(lockedBy) {\n core.debug(`setBusy(${lockedBy})`);\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n}\n/**\n * Obtain mutex\n * @param workloadId id to mention in mutex\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction obtainMutex(workloadId, timeout, checkPeriod = 20) {\n return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () {\n return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => {\n const busy = isBusy('slo-mutex');\n if (typeof busy === 'boolean' && !busy) {\n core.debug('Set mutex');\n setBusy(workloadId);\n core.info('Mutex obtained');\n core.debug('Mutex sleep 5s');\n (0, callExecutables_1.call)('sleep 5');\n core.debug('Re-check after sleep');\n const mutexObtainedBy = isBusy('slo-mutex');\n if (mutexObtainedBy !== workloadId) {\n core.info('Mutex is not obtained!');\n return false;\n }\n return true;\n }\n return false;\n });\n }));\n}\nexports.obtainMutex = obtainMutex;\nfunction releaseMutex() {\n return (0, groupDecorator_1.logGroup)('Release mutex', () => {\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n });\n}\nexports.releaseMutex = releaseMutex;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst cluster_1 = require(\"./cluster\");\nfunction parseArguments() {\n return (0, groupDecorator_1.logGroup)('Parse arguments', () => {\n let workloads = [];\n let i = -1, haveValue = true;\n do {\n const readedValue = getWorkloadParam(i);\n if (null === readedValue) {\n // can start from '' or from 0\n if (i !== -1)\n haveValue = false;\n }\n else {\n workloads.push(readedValue);\n }\n i++;\n } while (haveValue);\n const githubToken = core.getInput('GITHUB_TOKEN');\n const kubeconfig = core.getInput('KUBECONFIG_B64');\n const dockerRepo = core.getInput('DOCKER_REPO');\n const dockerFolder = core.getInput('DOCKER_FOLDER');\n const dockerUsername = core.getInput('DOCKER_USERNAME');\n const dockerPassword = core.getInput('DOCKER_PASSWORD');\n const awsCredentials = core.getInput('AWS_CREDENTIALS_B64');\n const awsConfig = core.getInput('AWS_CONFIG_B64');\n const s3Endpoint = core.getInput('s3_endpoint');\n const s3Folder = core.getInput('s3_images_folder');\n const grafanaDomain = core.getInput('grafana_domain');\n const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k';\n let ydbVersion = core.getInput('ydb_version');\n const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20');\n const shutdownTime = Number(core.getInput('shutdown_time') || '30');\n if (isNaN(timeBetweenPhases))\n throw new Error('time_between_phases is not a number');\n if (isNaN(shutdownTime))\n throw new Error('shutdown_time is not a number');\n if (ydbVersion === '')\n ydbVersion = '23.1.26';\n if (ydbVersion === 'newest') {\n core.info('Get YDB docker versions');\n const ydbVersions = (0, cluster_1.getYdbVersions)();\n ydbVersion = ydbVersions[ydbVersions.length - 1];\n core.info(`Use YDB docker version = '${ydbVersion}'`);\n }\n // TODO: add other args\n return {\n workloads,\n githubToken,\n kubeconfig,\n awsCredentials,\n awsConfig,\n s3Endpoint,\n s3Folder,\n dockerRepo,\n dockerFolder,\n dockerUsername,\n dockerPassword,\n ydbVersion,\n timeBetweenPhases,\n shutdownTime,\n grafanaDomain,\n grafanaDashboard\n };\n });\n}\nexports.parseArguments = parseArguments;\nfunction getWorkloadParam(id) {\n let suffix = id == -1 ? '' : `${id}`;\n const languageId = core.getInput('language_id' + suffix);\n const languageName = core.getInput('language' + suffix);\n const workloadPath = core.getInput('workload_path' + suffix);\n const workloadBuildContext = core.getInput('workload_build_context' + suffix);\n const workloadBuildOptions = core.getInput('workload_build_options' + suffix);\n core.debug(`getWorkloadParam(${id}):\n suffix='${suffix}'\n languageId='${languageId}'\n languageName='${languageName}'\n workloadPath='${workloadPath}'\n workloadBuildContext='${workloadBuildContext}'\n workloadBuildOptions='${workloadBuildOptions}'`);\n // id and path are required\n if (languageId.length === 0 || workloadPath.length === 0) {\n core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`);\n return null;\n }\n let options = {\n id: languageId,\n path: workloadPath\n };\n if (languageName)\n options.name = languageName;\n if (workloadBuildContext)\n options.buildContext = workloadBuildContext;\n if (workloadBuildOptions)\n options.buildOptions = workloadBuildOptions;\n return options;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logGroup = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nfunction logGroup(name, fun) {\n core.startGroup(name);\n const res = fun();\n if (res instanceof Promise) {\n return res.finally(() => {\n core.endGroup();\n });\n }\n else {\n core.endGroup();\n return res;\n }\n}\nexports.logGroup = logGroup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nfunction retry(retries, inner) {\n return __awaiter(this, void 0, void 0, function* () {\n let error;\n while (retries > 0) {\n try {\n return yield inner();\n }\n catch (e) {\n error = e;\n }\n retries--;\n }\n core.info('All retries have been used, re-throwing error');\n throw error;\n });\n}\nexports.retry = retry;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nclass TimeoutExceededError extends Error {\n}\nexports.TimeoutExceededError = TimeoutExceededError;\nfunction withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`);\n const deadline = new Date().valueOf() + timeoutM * 1000 * 60;\n core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n do {\n core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n if (yield checkFunc())\n return;\n yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000));\n } while (new Date().valueOf() < deadline);\n core.debug(`withTimeout throw timeout`);\n throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`);\n });\n}\nexports.withTimeout = withTimeout;\nfunction withTimeoutSimple(timeoutS, func) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.race([\n func,\n new Promise((_, reject) => setTimeout(reject, timeoutS * 1000))\n ]);\n });\n}\nexports.withTimeoutSimple = withTimeoutSimple;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nconst workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content;\nfunction dockerLogin(repo, user, password) {\n return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () {\n try {\n yield (0, callExecutables_1.callAsync)(`echo \"${password}\" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true);\n core.info('Successfully logged in');\n }\n catch (error) {\n // suppress error revealing user and password\n const msg = 'Incorrect docker repo, username or password';\n if ((error === null || error === void 0 ? void 0 : error.message) &&\n (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) {\n core.info(msg);\n }\n else {\n core.info('Something went wrong in docker login');\n }\n throw new Error(msg);\n }\n }));\n}\nexports.dockerLogin = dockerLogin;\nfunction generateDockerPath(repo, folder, id) {\n return `${repo}/${folder}/${id}`;\n}\nexports.generateDockerPath = generateDockerPath;\nfunction buildWorkload(id, dockerImage, workingDir, options, context) {\n if (!options || options.length === 0)\n options = '';\n if (!context || context.length === 0)\n context = '.';\n return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () {\n core.info('Build docker image');\n yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` +\n `-t ${dockerImage}:latest ` +\n `-t ${dockerImage}:gh-${github.context.sha} ` +\n `${options} ` +\n `${context}`, false, workingDir);\n core.info('Push docker tag @latest');\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`);\n core.info(`Push docker tag '@gh-${github.context.sha}'`);\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`);\n }));\n}\nexports.buildWorkload = buildWorkload;\nfunction runWorkload(command, options) {\n return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () {\n const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`;\n const workloadManifest = workloadManifestTemplate\n .replace(/\\$\\{\\{LANGUAGE_ID\\}\\}/g, options.id)\n .replace(/\\$\\{\\{COMMAND\\}\\}/g, command)\n .replace(/\\$\\{\\{DOCKER_IMAGE\\}\\}/g, options.dockerPath)\n .replace('${{ARGS}}', containerArgs\n .split(' ')\n .map(s => `'${s}'`)\n .join('\\n - '));\n core.debug(`Workload manifest: \\n\\n${workloadManifest}`);\n const startTime = new Date();\n core.info(`Workload apply ${command} result:\\n` +\n (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`));\n core.debug('Workload status check: ' + JSON.stringify(status));\n if (status.failed) {\n const msg = `Workload ${options.id} ${command} failed`;\n core.info(msg);\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n throw new Error(msg);\n }\n if (status.complete || status.succeeded)\n return true;\n return false;\n }));\n const endTime = new Date();\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n return { startTime, endTime };\n }));\n}\nexports.runWorkload = runWorkload;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n var _a, _b, _c;\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;\n this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;\n this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options, ...additionalPlugins) {\n const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);\n return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nexports.defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\n//# sourceMappingURL=proxy.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nconst Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\"POST /orgs/{org}/actions/runners/{runner_id}/labels\"],\n addCustomLabelsToSelfHostedRunnerForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n approveWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteActionsCacheById: [\"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"],\n deleteActionsCacheByKey: [\"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunAttemptLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\"GET /orgs/{org}/actions/cache/usage-by-repository\"],\n getActionsCacheUsageForEnterprise: [\"GET /enterprises/{enterprise}/actions/cache/usage\"],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/workflow\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/access\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listJobsForWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"],\n listLabelsForSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}/labels\"],\n listLabelsForSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForOrg: [\"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"],\n setCustomLabelsForSelfHostedRunnerForRepo: [\"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"],\n setWorkflowAccessToRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/access\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"]\n }],\n addRepoToInstallationForAuthenticatedUser: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\"POST /app/hook/deliveries/{delivery_id}/attempts\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"]\n }],\n removeRepoFromInstallationForAuthenticatedUser: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubAdvancedSecurityBillingGhe: [\"GET /enterprises/{enterprise}/settings/billing/advanced-security\"],\n getGithubAdvancedSecurityBillingOrg: [\"GET /orgs/{org}/settings/billing/advanced-security\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", {}, {\n renamed: [\"codeScanning\", \"listAlertInstances\"]\n }],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n codespaceMachinesForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/machines\"],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n createOrUpdateSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}\"],\n createWithPrForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"],\n createWithRepoForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/codespaces\"],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n deleteSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}\"],\n exportForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/exports\"],\n getExportDetailsForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/exports/{export_id}\"],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\"GET /user/codespaces/secrets/public-key\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n getSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}\"],\n listDevcontainersInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/devcontainers\"],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\"GET /orgs/{org}/codespaces\", {}, {\n renamedParameters: {\n org_id: \"org\"\n }\n }],\n listInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}/repositories\"],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n repoMachinesForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/machines\"],\n setRepositoriesForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories\"],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"],\n diffRange: [\"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n getServerStatistics: [\"GET /enterprise-installation/{enterprise_or_org}/server-statistics\"],\n listLabelsForSelfHostedRunnerForEnterprise: [\"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\"],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\"],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\"],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\"],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/repositories\"],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {}, {\n renamed: [\"migrations\", \"listReposForAuthenticatedUser\"]\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\"],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\"],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n createForRelease: [\"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n listForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"]\n }],\n acceptInvitationForAuthenticatedUser: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\"],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\"GET /repos/{owner}/{repo}/compare/{basehead}\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\"],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"]\n }],\n declineInvitationForAuthenticatedUser: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteTagProtection: [\"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\"],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\"],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\"],\n generateReleaseNotes: [\"POST /repos/{owner}/{repo}/releases/generate-notes\"],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForEnterprise: [\"GET /enterprises/{enterprise}/secret-scanning/alerts\"],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailForAuthenticatedUser\"]\n }],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"]\n }],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"]\n }],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"]\n }],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"]\n }],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"]\n }],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"]\n }],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"]\n }],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticatedUser\"]\n }],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticatedUser\"]\n }],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticatedUser\"]\n }],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"]\n }],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"]\n }],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"]\n }],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"5.16.2\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexports.legacyRestEndpointMethods = legacyRestEndpointMethods;\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");","module.exports = require(\"child_process\");","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3109);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 03d5171c..a9db8d94 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -17,7 +17,9 @@ export async function grafanaScreenshot( core.debug( `grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})` ) - const query = `http://grafana/render/d/${dashboard}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv` + const query = `http://grafana/render/d/${ + dashboard.split('/')[0] + }/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv` core.debug('grafana query: ' + query) const imageb64 = await callKubernetesAsync( `run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"` From ce0becf6304a0021b69691b2ff74142c68c8fe4a Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 26 May 2023 19:38:13 +0300 Subject: [PATCH 40/77] ci: add GITHUB_TOKEN var to action yml --- action.yml | 3 +++ dist/index.js | 2 +- dist/index.js.map | 2 +- src/main.ts | 2 +- src/parseArguments.ts | 1 - 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/action.yml b/action.yml index 2b815051..26b248d6 100644 --- a/action.yml +++ b/action.yml @@ -1,6 +1,9 @@ name: 'SLO test over YDB' description: 'YDB SLO test for SDKs. Uses kubernetes cluster to run tests over. Creates possible errors in cluster to check how SDK handles them.' inputs: + GITHUB_TOKEN: + description: 'Github token' + required: true KUBECONFIG_B64: description: '.kube/config base64' required: true diff --git a/dist/index.js b/dist/index.js index ec7a312d..63038e74 100644 --- a/dist/index.js +++ b/dist/index.js @@ -976,6 +976,7 @@ if (isPostAction) { (0, callExecutables_1.call)('rm -rf ~/.aws'); } else { + core.info('Main SLO action'); main(); } @@ -1158,7 +1159,6 @@ function parseArguments() { ydbVersion = ydbVersions[ydbVersions.length - 1]; core.info(`Use YDB docker version = '${ydbVersion}'`); } - // TODO: add other args return { workloads, githubToken, diff --git a/dist/index.js.map b/dist/index.js.map index a4718038..a0038067 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACllCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;AEDA;AACA;AACA;AACA","sources":["../webpack://slo-tests/./lib/callExecutables.js","../webpack://slo-tests/./lib/checkResults.js","../webpack://slo-tests/./lib/cluster.js","../webpack://slo-tests/./lib/errorScheduler.js","../webpack://slo-tests/./lib/getInfrastractureEndpoints.js","../webpack://slo-tests/./lib/grafanaScreenshot.js","../webpack://slo-tests/./lib/main.js","../webpack://slo-tests/./lib/mutex.js","../webpack://slo-tests/./lib/parseArguments.js","../webpack://slo-tests/./lib/utils/groupDecorator.js","../webpack://slo-tests/./lib/utils/retry.js","../webpack://slo-tests/./lib/utils/withTimeout.js","../webpack://slo-tests/./lib/workload.js","../webpack://slo-tests/./node_modules/@actions/core/lib/command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/core.js","../webpack://slo-tests/./node_modules/@actions/core/lib/file-command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/path-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/summary.js","../webpack://slo-tests/./node_modules/@actions/core/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/context.js","../webpack://slo-tests/./node_modules/@actions/github/lib/github.js","../webpack://slo-tests/./node_modules/@actions/github/lib/internal/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/auth.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/index.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/proxy.js","../webpack://slo-tests/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/core/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request/dist-node/index.js","../webpack://slo-tests/./node_modules/before-after-hook/index.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/add.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/register.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/remove.js","../webpack://slo-tests/./node_modules/deprecation/dist-node/index.js","../webpack://slo-tests/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://slo-tests/./node_modules/node-fetch/lib/index.js","../webpack://slo-tests/./node_modules/once/once.js","../webpack://slo-tests/./node_modules/tr46/index.js","../webpack://slo-tests/./node_modules/tunnel/index.js","../webpack://slo-tests/./node_modules/tunnel/lib/tunnel.js","../webpack://slo-tests/./node_modules/universal-user-agent/dist-node/index.js","../webpack://slo-tests/./node_modules/uuid/dist/index.js","../webpack://slo-tests/./node_modules/uuid/dist/md5.js","../webpack://slo-tests/./node_modules/uuid/dist/nil.js","../webpack://slo-tests/./node_modules/uuid/dist/parse.js","../webpack://slo-tests/./node_modules/uuid/dist/regex.js","../webpack://slo-tests/./node_modules/uuid/dist/rng.js","../webpack://slo-tests/./node_modules/uuid/dist/sha1.js","../webpack://slo-tests/./node_modules/uuid/dist/stringify.js","../webpack://slo-tests/./node_modules/uuid/dist/v1.js","../webpack://slo-tests/./node_modules/uuid/dist/v3.js","../webpack://slo-tests/./node_modules/uuid/dist/v35.js","../webpack://slo-tests/./node_modules/uuid/dist/v4.js","../webpack://slo-tests/./node_modules/uuid/dist/v5.js","../webpack://slo-tests/./node_modules/uuid/dist/validate.js","../webpack://slo-tests/./node_modules/uuid/dist/version.js","../webpack://slo-tests/./node_modules/webidl-conversions/lib/index.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/public-api.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/utils.js","../webpack://slo-tests/./node_modules/wrappy/wrappy.js","../webpack://slo-tests/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://slo-tests/external node-commonjs \"assert\"","../webpack://slo-tests/external node-commonjs \"child_process\"","../webpack://slo-tests/external node-commonjs \"crypto\"","../webpack://slo-tests/external node-commonjs \"events\"","../webpack://slo-tests/external node-commonjs \"fs\"","../webpack://slo-tests/external node-commonjs \"http\"","../webpack://slo-tests/external node-commonjs \"https\"","../webpack://slo-tests/external node-commonjs \"net\"","../webpack://slo-tests/external node-commonjs \"os\"","../webpack://slo-tests/external node-commonjs \"path\"","../webpack://slo-tests/external node-commonjs \"punycode\"","../webpack://slo-tests/external node-commonjs \"stream\"","../webpack://slo-tests/external node-commonjs \"tls\"","../webpack://slo-tests/external node-commonjs \"url\"","../webpack://slo-tests/external node-commonjs \"util\"","../webpack://slo-tests/external node-commonjs \"zlib\"","../webpack://slo-tests/webpack/bootstrap","../webpack://slo-tests/webpack/runtime/compat","../webpack://slo-tests/webpack/before-startup","../webpack://slo-tests/webpack/startup","../webpack://slo-tests/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst child_process_1 = require(\"child_process\");\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nconst path_1 = __importDefault(require(\"path\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nlet kubectlPath = null;\nlet callId = 0;\nfunction prepareK8S(base64kubeconfig) {\n return (0, groupDecorator_1.logGroup)('Prepare k8s', () => {\n // create ~/.kube folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add kubeconfig\n if (base64kubeconfig.length > 0) {\n core.debug('Get kubeconfig string');\n const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8');\n core.info(`Write kubeconfig to ~/.kube/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig);\n }\n kubectlPath = call('which kubectl').split('\\n')[0];\n core.info(`kubectl path: ${kubectlPath}`);\n });\n}\nexports.prepareK8S = prepareK8S;\nfunction prepareAWS(awsCredentialsB64, awsConfigB64) {\n // create ~/.aws folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add awsCredentials\n if (awsCredentialsB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8');\n core.info(`Write awsCredentials to ~/.aws/credentials`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials);\n }\n // add awsConfig\n if (awsConfigB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8');\n core.info(`Write awsConfig to ~/.aws/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig);\n }\n}\nexports.prepareAWS = prepareAWS;\nfunction call(command, secret = false) {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' });\n core.debug(`Call #${id} result ${spawnResult}`);\n return spawnResult;\n}\nexports.call = call;\nfunction callAsync(command, secret = false, cwd = '.') {\n return new Promise((resolve, reject) => {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd });\n if (!proc.stdio || !proc.stdout || !proc.stderr) {\n core.info(`Error in callAsync #${id}: can't spawn process`);\n throw new Error(`Error in callAsync #${id}: can't spawn process`);\n }\n let out = '', err = '';\n proc.stdout.on('data', data => (out += data.toString()));\n proc.stderr.on('data', data => (err += data.toString()));\n proc.on('close', code => {\n core.debug(`Call #${id} async code = ${code}`);\n if (code == 0) {\n core.debug(`Call #${id} async output \\n${out}`);\n resolve(out);\n }\n else {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on close`);\n else\n core.debug(`Call #${id} async failed - on close:\\n${err}`);\n reject(new Error(err));\n }\n });\n proc.on('error', err => {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on error`);\n else\n core.debug(`Call #${id} async failed - on error:\\n${err}`);\n reject(err);\n });\n });\n}\nexports.callAsync = callAsync;\nfunction callKubernetes(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(`${kubectlPath} ${command}`);\n}\nexports.callKubernetes = callKubernetes;\nfunction callKubernetesPath(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPath = callKubernetesPath;\nfunction callKubernetesAsync(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(`${kubectlPath} ${command}`);\n}\nexports.callKubernetesAsync = callKubernetesAsync;\nfunction callKubernetesPathAsync(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPathAsync = callKubernetesPathAsync;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nfunction getUUID() {\n const hexstring = crypto_1.default.randomBytes(16).toString('hex');\n return (hexstring.substring(0, 8) +\n '-' +\n hexstring.substring(8, 12) +\n '-' +\n hexstring.substring(12, 16) +\n '-' +\n hexstring.substring(16, 20) +\n '-' +\n hexstring.substring(20));\n}\nexports.getUUID = getUUID;\nfunction getDataFromGrafana(fromDate, toDate, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = {\n queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, \n // requestId: `Q-${getUUID()}-${i}`,\n interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: {\n type: 'prometheus',\n uid: 'prometheus'\n }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))),\n range: {\n from: fromDate.toISOString(),\n to: toDate.toISOString(),\n raw: {\n from: fromDate.toISOString(),\n to: toDate.toISOString()\n }\n },\n from: '' + fromDate.valueOf(),\n to: '' + toDate.valueOf()\n };\n let requestId = data.queries.reduce((acc, v) => (acc += v.key), '');\n data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q)));\n let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`;\n busyboxCmd = busyboxCmd.replace(/'/g, \"'\\\\''\");\n core.debug(`getDataFromGrafana kube request:\\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`);\n return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8');\n });\n}\nexports.getDataFromGrafana = getDataFromGrafana;\nfunction parseRawGraph(dataString) {\n const data = JSON.parse(dataString);\n core.debug('Parsed JSON graph data ' + JSON.stringify(data));\n const keys = Object.keys(data.results);\n core.debug('Process graph data');\n return keys.reduce((acc, k) => {\n acc[k] = data.results[k].frames.map((f) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0],\n labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels\n });\n });\n return acc;\n }, {});\n}\nexports.parseRawGraph = parseRawGraph;\nfunction filterGraphData(filter) {\n return function filterGraphFun(result) {\n return Object.entries(filter).reduce((prev, filt) => {\n return prev && result.labels[filt[0]] === filt[1];\n }, true);\n };\n}\nexports.filterGraphData = filterGraphData;\nfunction checkGraphValues(workloadId, realResults, desiredResults) {\n // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]}\n let checks = [];\n for (const queryName of Object.keys(desiredResults)) {\n const result = realResults[queryName];\n const desired = desiredResults[queryName];\n for (const desiredRes of desired) {\n const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter);\n let inspected = (result || []).filter(filterGraphData(filter));\n const checkName = `${queryName}${JSON.stringify(filter)}`;\n if (inspected.length === 0) {\n checks.push([\n checkName,\n 'notfound',\n `Not found results by filter to inspect`\n ]);\n }\n else {\n for (const [i, inspectedRes] of Object.entries(inspected)) {\n const decision = desiredRes.value[0] === '>'\n ? inspectedRes.value > desiredRes.value[1]\n : inspectedRes.value < desiredRes.value[1];\n checks.push([\n `${checkName}[${i}]`,\n decision ? 'ok' : 'error',\n `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}`\n ]);\n }\n }\n }\n }\n return checks;\n}\nexports.checkGraphValues = checkGraphValues;\nfunction checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n core.info('Check results');\n core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`);\n if (!queries)\n queries = [\n {\n refId: 'success_rate',\n expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0',\n interval: '1s'\n },\n {\n refId: 'max_99_latency',\n expr: 'max_over_time(latency{quantile=\"0.99\"}[$__range])>0',\n interval: ''\n },\n {\n refId: 'fail_interval',\n expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0',\n interval: '1s'\n }\n ];\n const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () {\n const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries);\n core.debug('graphsRaw: ' + graphsRaw);\n return parseRawGraph(graphsRaw);\n }));\n core.debug('parsed: ' + JSON.stringify(parsed));\n const checks = checkGraphValues(workloadId, parsed, desiredResults);\n for (let i = 0; i < checks.length; i++) {\n const conclusion = checks[i][1] === 'error'\n ? 'failure'\n : checks[i][1] === 'notfound'\n ? 'neutral'\n : 'success';\n const checkParams = {\n owner: github.context.repo.owner,\n repo: github.context.repo.repo,\n name: `slo_check_${checks[i][0]}`,\n status: 'completed',\n conclusion: conclusion,\n output: {\n title: `SLO results check #${0}`,\n summary: checks[i][2],\n text: checks[i][2]\n }\n };\n yield octokit.rest.checks.create(checkParams);\n }\n return checks.filter(ch => ch[1] == 'error').length > 0;\n });\n}\nexports.checkResults = checkResults;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst callExecutables_1 = require(\"./callExecutables\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nlet databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content;\nlet storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content;\n/**\n * Create cluster with selected version\n * @param version YDB docker version\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction createCluster(version = '23.1.19', timeout, checkPeriod = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () {\n databaseManifest = databaseManifest.replace('${{VERSION}}', version);\n storageManifest = storageManifest.replace('${{VERSION}}', version);\n core.debug('database manifest:\\n\\n' + databaseManifest);\n core.debug('storage manifest:\\n\\n' + storageManifest);\n core.info('Apply database and storage manifests');\n core.info('storage apply result:\\n' +\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n core.debug('check status of cluster');\n const databaseStatus = getStatus('database');\n const storageStatus = getStatus('storage');\n core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`);\n if (databaseStatus !== lastDatabaseStatus) {\n core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`);\n lastDatabaseStatus = databaseStatus;\n }\n if (storageStatus !== lastStorageStatus) {\n core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`);\n lastStorageStatus = storageStatus;\n }\n if (databaseStatus === 'Ready' && storageStatus === 'Ready')\n return true;\n return false;\n }));\n }));\n });\n}\nexports.createCluster = createCluster;\nfunction getYdbVersions() {\n return (0, groupDecorator_1.logGroup)('Get versions', () => {\n const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb');\n const versions = versionsString.split('\\n').filter(s => s.length > 0);\n versions.sort();\n return versions;\n });\n}\nexports.getYdbVersions = getYdbVersions;\nfunction getStatus(statusOf) {\n const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`);\n return JSON.parse(res).state;\n}\nfunction deleteCluster() {\n return (0, groupDecorator_1.logGroup)('Delete cluster', () => {\n core.info('Delete database and storage manifests');\n try {\n core.info('Database delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample'));\n }\n catch (error) {\n core.info('Error while deleting database' + JSON.stringify(error));\n }\n try {\n core.info('Storage delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample'));\n }\n catch (error) {\n core.info('Error while deleting storage' + JSON.stringify(error));\n }\n try {\n const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath=\"{.items[*].metadata.name}\" -l ydb-cluster=slo-storage');\n core.debug('pvcs' + pvcs);\n core.info('PVC delete result:\\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`));\n }\n catch (error) {\n core.info('Error while deleting pvcs' + JSON.stringify(error));\n }\n });\n}\nexports.deleteCluster = deleteCluster;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.annotate = exports.errorScheduler = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nlet grafanaPod = null;\nfunction errorScheduler(grafanaPodName, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n // get database target's IP\n const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\\n')[0];\n core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`);\n // get grafana pod name\n grafanaPod = grafanaPodName;\n core.info(`Grafana pod name: ${grafanaPod}`);\n // wait until workload start?\n // what is workload to wait to start for?\n // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => {\n // const status = JSON.parse(\n // await callKubernetesAsync(\n // `get job/${workloadId}-wl-run -o=jsonpath={.status}`\n // )\n // )\n // if(status?.phase === 'Running') return true\n // return false\n // })\n yield new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n });\n const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` +\n ` sh -c \"wget -q -O- '${targetIP}:8765/tablets/app?` +\n `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' \"`;\n // freeze\n yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS);\n // unfreeze\n yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS);\n // delete pod\n yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS);\n // force delete pod\n yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS);\n // kill from inside\n yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c \"kill -2 1 && echo 'process killed'\"`, timeBetweenS);\n // TODO: add process sleep\n });\n}\nexports.errorScheduler = errorScheduler;\nfunction createError(name, kubeCommand, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Promise.allSettled([\n // run command\n (0, callExecutables_1.callKubernetesAsync)(kubeCommand),\n // annotate\n annotate(name),\n // wait till next\n new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n })\n ]).then(v => {\n if (v.filter(p => p.status === 'rejected').length > 0)\n return Promise.reject('Error in YDB error creation');\n });\n });\n}\n// no tags, but possible to add if needed\nfunction annotate(text, dashboardUID = '7CzMl5t4k') {\n const annotationsUrl = 'http://localhost:3000/api/annotations';\n const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`;\n const data = `{\\\\\"dashboardUID\\\\\":\\\\\"${dashboardUID}\\\\\", \\\\\"text\\\\\":\\\\\"${text}\\\\\", \\\\\"tags\\\\\":[]}`;\n return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c \"${createWgetPost(annotationsUrl, data)}\"`);\n}\nexports.annotate = annotate;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfrastractureEndpoints = void 0;\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nfunction getInfrastractureEndpoints() {\n return __awaiter(this, void 0, void 0, function* () {\n const services = [\n 'prometheus-operator',\n 'prometheus',\n 'prometheus-pushgateway',\n 'grafana',\n 'grafana-renderer',\n 'ydb-operator'\n ];\n return Promise.allSettled(services.map(getEndpoint)).then(res => {\n const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected');\n if (servicesWithoutPods.length > 0) {\n throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`);\n }\n return {\n prometheusOperator: res[0].value,\n prometheus: res[1].value,\n prometheusPushgateway: res[2].value,\n grafana: res[3].value,\n grafanaRenderer: res[4].value,\n ydbOperator: res[5].value\n };\n });\n });\n}\nexports.getInfrastractureEndpoints = getInfrastractureEndpoints;\nfunction getEndpoint(kubeName) {\n return (0, retry_1.retry)(2, () => {\n return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l \"app.kubernetes.io/name=${kubeName}\" -o jsonpath=\"{.items[0].metadata.name}\"`).then(s => s.split('\\n')[0]));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postComment = exports.grafanaScreenshot = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst callExecutables_1 = require(\"./callExecutables\");\nfunction grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`);\n const query = `http://grafana/render/d/${dashboard.split('/')[0]}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`;\n core.debug('grafana query: ' + query);\n const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c \"wget -q -O- '${query}' | base64\"`);\n core.debug('grafana imageb64: ' +\n imageb64.slice(0, 100) +\n '...TRUNCATED...' +\n imageb64.slice(-100));\n // write image to fs\n yield (0, callExecutables_1.callAsync)(`echo \"${imageb64}\" | base64 --decode > pic.png`);\n const pictureName = `${workloadId}-${new Date().valueOf()}.png`;\n // upload\n yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png \"s3://${path_1.default.join(s3Folder, pictureName)}\"`);\n // delete\n yield (0, callExecutables_1.callAsync)(`rm pic.png`);\n // return name\n const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName);\n core.debug('fullPictureUri: ' + fullPictureUri);\n return `${fullPictureUri}`;\n });\n}\nexports.grafanaScreenshot = grafanaScreenshot;\nfunction postComment(octokit, id, message) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!github_1.context.payload.pull_request)\n return;\n const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message });\n try {\n yield octokit.rest.issues.createComment(data);\n }\n catch (error) {\n yield octokit.rest.issues.updateComment(data);\n }\n });\n}\nexports.postComment = postComment;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst parseArguments_1 = require(\"./parseArguments\");\nconst callExecutables_1 = require(\"./callExecutables\");\nconst mutex_1 = require(\"./mutex\");\nconst cluster_1 = require(\"./cluster\");\nconst workload_1 = require(\"./workload\");\nconst getInfrastractureEndpoints_1 = require(\"./getInfrastractureEndpoints\");\nconst errorScheduler_1 = require(\"./errorScheduler\");\nconst retry_1 = require(\"./utils/retry\");\nconst checkResults_1 = require(\"./checkResults\");\nconst grafanaScreenshot_1 = require(\"./grafanaScreenshot\");\nconst crypto_1 = require(\"crypto\");\nconst isPullRequest = !!github.context.payload.pull_request;\nfunction main() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)();\n core.debug(`Setting up OctoKit`);\n const octokit = github.getOctokit(githubToken);\n (0, callExecutables_1.prepareK8S)(kubeconfig);\n (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig);\n yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword);\n // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer\n const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)();\n core.info(`Services pods: ${JSON.stringify(servicesPods)}`);\n core.info('Run SLO tests for: \\n' +\n workloads\n .map(option => {\n let str = `#${option.id}`;\n str += option.name ? `(${option.name})\\n` : '\\n';\n str += `path: '${option.path}'\\n`;\n str += option.buildContext\n ? `build context: '${option.buildContext}'\\n`\n : '';\n str += option.buildOptions\n ? `build options: '${option.buildOptions}'\\n`\n : '';\n return str;\n })\n .join('==='));\n const mutexId = workloads.length > 1\n ? workloads.map(v => v.id).join('__+__')\n : workloads[0].id;\n yield (0, mutex_1.obtainMutex)(mutexId, 30);\n core.info('Mutex obtained!');\n const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id));\n core.info('Create cluster and build all workloads');\n const builded = workloads.map(() => false);\n const clusterWorkloadRes = yield Promise.allSettled([\n (0, cluster_1.createCluster)(ydbVersion, 15),\n // TODO: create placeholder pods for databases\n // TODO: catch build error and stop cluster creation\n ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => {\n builded[idx] = true;\n }))\n ]);\n /** Indicates that cluster created, some of workloads builded and it's possible to run wl */\n const continueRun = clusterWorkloadRes[0].status === 'fulfilled' &&\n builded.filter(v => v).length > 0;\n core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`);\n if (builded.every(v => v)) {\n core.info('All workloads builded successfully');\n }\n else {\n if (continueRun) {\n builded.map((done, i) => {\n if (!done)\n core.info(`Error in '${workloads[i].id}' build`);\n else\n core.info(`'${workloads[i].id}' build successful`);\n });\n }\n else {\n core.info('No workloads builded!');\n }\n }\n if (continueRun) {\n // retry create operation one time in case of error\n const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () {\n return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: 2,\n args: `--min-partitions-count 6 --max-partitions-count 1000 ` +\n `--partition-size 1 --initial-data-count 1000`\n }));\n })));\n core.debug('create results: ' + JSON.stringify(createResult));\n if (createResult.filter(r => r.status === 'fulfilled').length === 0) {\n throw new Error('No workloads performed `create` action, exit');\n }\n else {\n // run in parrallel without retries\n const runResult = yield Promise.allSettled([\n ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60),\n args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` +\n `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`\n })),\n (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases)\n ]);\n core.debug('run results: ' + JSON.stringify(runResult));\n if (runResult\n .slice(0, workloads.length)\n .filter(r => r.status === 'fulfilled').length === 0) {\n core.info('No successfull workload runs!');\n throw new Error('No workloads runs completed successfully');\n }\n else {\n // TODO: somehow use objectives as input\n const objectives = {\n success_rate: [{ filter: {}, value: ['>', 0.98] }],\n max_99_latency: [\n { filter: { status: 'ok' }, value: ['<', 100] },\n { filter: { status: 'err' }, value: ['<', 30000] }\n ],\n fail_interval: [{ filter: {}, value: ['<', 20] }]\n };\n let promises = [];\n runResult.map((r, i) => {\n if (r.status === 'fulfilled' && i !== runResult.length - 1) {\n const timings = r.value;\n promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives));\n core.debug('isPullRequest=' + isPullRequest);\n if (isPullRequest) {\n core.debug('Push to promises grafana screenshot and postComment');\n promises.push((() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard);\n const comment = `\n :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**:\n \n [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()})\n \n ![SLO-${workloads[i].id}](${pictureUri})`;\n yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1')\n .update('nodejs-1')\n .digest()\n .readUint32BE(), comment);\n }))());\n }\n }\n });\n const res = yield Promise.allSettled(promises);\n core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res));\n }\n }\n }\n (0, cluster_1.deleteCluster)();\n (0, mutex_1.releaseMutex)();\n }\n catch (error) {\n if (error instanceof Error)\n core.setFailed(error.message);\n }\n });\n}\nconst isPostAction = !!core.getState('isPost');\nif (isPostAction) {\n core.info('Cleanup');\n core.debug('Remove .kube dir');\n (0, callExecutables_1.call)('rm -rf ~/.kube');\n core.debug('Remove .aws dir');\n (0, callExecutables_1.call)('rm -rf ~/.aws');\n}\nelse {\n main();\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseMutex = exports.obtainMutex = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\n/** Is mutex busy (configmap has field busy) */\nfunction isBusy(name) {\n var _a, _b, _c;\n core.debug(`isBusy(${name})`);\n const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`);\n core.debug('isBusy result: ' + res);\n const configmap = JSON.parse(res);\n core.debug('configmap parsed: ' + JSON.stringify(configmap));\n if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) {\n core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`);\n return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy;\n }\n return false;\n}\nfunction setBusy(lockedBy) {\n core.debug(`setBusy(${lockedBy})`);\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n}\n/**\n * Obtain mutex\n * @param workloadId id to mention in mutex\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction obtainMutex(workloadId, timeout, checkPeriod = 20) {\n return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () {\n return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => {\n const busy = isBusy('slo-mutex');\n if (typeof busy === 'boolean' && !busy) {\n core.debug('Set mutex');\n setBusy(workloadId);\n core.info('Mutex obtained');\n core.debug('Mutex sleep 5s');\n (0, callExecutables_1.call)('sleep 5');\n core.debug('Re-check after sleep');\n const mutexObtainedBy = isBusy('slo-mutex');\n if (mutexObtainedBy !== workloadId) {\n core.info('Mutex is not obtained!');\n return false;\n }\n return true;\n }\n return false;\n });\n }));\n}\nexports.obtainMutex = obtainMutex;\nfunction releaseMutex() {\n return (0, groupDecorator_1.logGroup)('Release mutex', () => {\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n });\n}\nexports.releaseMutex = releaseMutex;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst cluster_1 = require(\"./cluster\");\nfunction parseArguments() {\n return (0, groupDecorator_1.logGroup)('Parse arguments', () => {\n let workloads = [];\n let i = -1, haveValue = true;\n do {\n const readedValue = getWorkloadParam(i);\n if (null === readedValue) {\n // can start from '' or from 0\n if (i !== -1)\n haveValue = false;\n }\n else {\n workloads.push(readedValue);\n }\n i++;\n } while (haveValue);\n const githubToken = core.getInput('GITHUB_TOKEN');\n const kubeconfig = core.getInput('KUBECONFIG_B64');\n const dockerRepo = core.getInput('DOCKER_REPO');\n const dockerFolder = core.getInput('DOCKER_FOLDER');\n const dockerUsername = core.getInput('DOCKER_USERNAME');\n const dockerPassword = core.getInput('DOCKER_PASSWORD');\n const awsCredentials = core.getInput('AWS_CREDENTIALS_B64');\n const awsConfig = core.getInput('AWS_CONFIG_B64');\n const s3Endpoint = core.getInput('s3_endpoint');\n const s3Folder = core.getInput('s3_images_folder');\n const grafanaDomain = core.getInput('grafana_domain');\n const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k';\n let ydbVersion = core.getInput('ydb_version');\n const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20');\n const shutdownTime = Number(core.getInput('shutdown_time') || '30');\n if (isNaN(timeBetweenPhases))\n throw new Error('time_between_phases is not a number');\n if (isNaN(shutdownTime))\n throw new Error('shutdown_time is not a number');\n if (ydbVersion === '')\n ydbVersion = '23.1.26';\n if (ydbVersion === 'newest') {\n core.info('Get YDB docker versions');\n const ydbVersions = (0, cluster_1.getYdbVersions)();\n ydbVersion = ydbVersions[ydbVersions.length - 1];\n core.info(`Use YDB docker version = '${ydbVersion}'`);\n }\n // TODO: add other args\n return {\n workloads,\n githubToken,\n kubeconfig,\n awsCredentials,\n awsConfig,\n s3Endpoint,\n s3Folder,\n dockerRepo,\n dockerFolder,\n dockerUsername,\n dockerPassword,\n ydbVersion,\n timeBetweenPhases,\n shutdownTime,\n grafanaDomain,\n grafanaDashboard\n };\n });\n}\nexports.parseArguments = parseArguments;\nfunction getWorkloadParam(id) {\n let suffix = id == -1 ? '' : `${id}`;\n const languageId = core.getInput('language_id' + suffix);\n const languageName = core.getInput('language' + suffix);\n const workloadPath = core.getInput('workload_path' + suffix);\n const workloadBuildContext = core.getInput('workload_build_context' + suffix);\n const workloadBuildOptions = core.getInput('workload_build_options' + suffix);\n core.debug(`getWorkloadParam(${id}):\n suffix='${suffix}'\n languageId='${languageId}'\n languageName='${languageName}'\n workloadPath='${workloadPath}'\n workloadBuildContext='${workloadBuildContext}'\n workloadBuildOptions='${workloadBuildOptions}'`);\n // id and path are required\n if (languageId.length === 0 || workloadPath.length === 0) {\n core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`);\n return null;\n }\n let options = {\n id: languageId,\n path: workloadPath\n };\n if (languageName)\n options.name = languageName;\n if (workloadBuildContext)\n options.buildContext = workloadBuildContext;\n if (workloadBuildOptions)\n options.buildOptions = workloadBuildOptions;\n return options;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logGroup = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nfunction logGroup(name, fun) {\n core.startGroup(name);\n const res = fun();\n if (res instanceof Promise) {\n return res.finally(() => {\n core.endGroup();\n });\n }\n else {\n core.endGroup();\n return res;\n }\n}\nexports.logGroup = logGroup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nfunction retry(retries, inner) {\n return __awaiter(this, void 0, void 0, function* () {\n let error;\n while (retries > 0) {\n try {\n return yield inner();\n }\n catch (e) {\n error = e;\n }\n retries--;\n }\n core.info('All retries have been used, re-throwing error');\n throw error;\n });\n}\nexports.retry = retry;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nclass TimeoutExceededError extends Error {\n}\nexports.TimeoutExceededError = TimeoutExceededError;\nfunction withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`);\n const deadline = new Date().valueOf() + timeoutM * 1000 * 60;\n core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n do {\n core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n if (yield checkFunc())\n return;\n yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000));\n } while (new Date().valueOf() < deadline);\n core.debug(`withTimeout throw timeout`);\n throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`);\n });\n}\nexports.withTimeout = withTimeout;\nfunction withTimeoutSimple(timeoutS, func) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.race([\n func,\n new Promise((_, reject) => setTimeout(reject, timeoutS * 1000))\n ]);\n });\n}\nexports.withTimeoutSimple = withTimeoutSimple;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nconst workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content;\nfunction dockerLogin(repo, user, password) {\n return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () {\n try {\n yield (0, callExecutables_1.callAsync)(`echo \"${password}\" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true);\n core.info('Successfully logged in');\n }\n catch (error) {\n // suppress error revealing user and password\n const msg = 'Incorrect docker repo, username or password';\n if ((error === null || error === void 0 ? void 0 : error.message) &&\n (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) {\n core.info(msg);\n }\n else {\n core.info('Something went wrong in docker login');\n }\n throw new Error(msg);\n }\n }));\n}\nexports.dockerLogin = dockerLogin;\nfunction generateDockerPath(repo, folder, id) {\n return `${repo}/${folder}/${id}`;\n}\nexports.generateDockerPath = generateDockerPath;\nfunction buildWorkload(id, dockerImage, workingDir, options, context) {\n if (!options || options.length === 0)\n options = '';\n if (!context || context.length === 0)\n context = '.';\n return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () {\n core.info('Build docker image');\n yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` +\n `-t ${dockerImage}:latest ` +\n `-t ${dockerImage}:gh-${github.context.sha} ` +\n `${options} ` +\n `${context}`, false, workingDir);\n core.info('Push docker tag @latest');\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`);\n core.info(`Push docker tag '@gh-${github.context.sha}'`);\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`);\n }));\n}\nexports.buildWorkload = buildWorkload;\nfunction runWorkload(command, options) {\n return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () {\n const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`;\n const workloadManifest = workloadManifestTemplate\n .replace(/\\$\\{\\{LANGUAGE_ID\\}\\}/g, options.id)\n .replace(/\\$\\{\\{COMMAND\\}\\}/g, command)\n .replace(/\\$\\{\\{DOCKER_IMAGE\\}\\}/g, options.dockerPath)\n .replace('${{ARGS}}', containerArgs\n .split(' ')\n .map(s => `'${s}'`)\n .join('\\n - '));\n core.debug(`Workload manifest: \\n\\n${workloadManifest}`);\n const startTime = new Date();\n core.info(`Workload apply ${command} result:\\n` +\n (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`));\n core.debug('Workload status check: ' + JSON.stringify(status));\n if (status.failed) {\n const msg = `Workload ${options.id} ${command} failed`;\n core.info(msg);\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n throw new Error(msg);\n }\n if (status.complete || status.succeeded)\n return true;\n return false;\n }));\n const endTime = new Date();\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n return { startTime, endTime };\n }));\n}\nexports.runWorkload = runWorkload;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n var _a, _b, _c;\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;\n this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;\n this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options, ...additionalPlugins) {\n const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);\n return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nexports.defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\n//# sourceMappingURL=proxy.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nconst Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\"POST /orgs/{org}/actions/runners/{runner_id}/labels\"],\n addCustomLabelsToSelfHostedRunnerForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n approveWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteActionsCacheById: [\"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"],\n deleteActionsCacheByKey: [\"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunAttemptLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\"GET /orgs/{org}/actions/cache/usage-by-repository\"],\n getActionsCacheUsageForEnterprise: [\"GET /enterprises/{enterprise}/actions/cache/usage\"],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/workflow\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/access\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listJobsForWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"],\n listLabelsForSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}/labels\"],\n listLabelsForSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForOrg: [\"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"],\n setCustomLabelsForSelfHostedRunnerForRepo: [\"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"],\n setWorkflowAccessToRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/access\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"]\n }],\n addRepoToInstallationForAuthenticatedUser: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\"POST /app/hook/deliveries/{delivery_id}/attempts\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"]\n }],\n removeRepoFromInstallationForAuthenticatedUser: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubAdvancedSecurityBillingGhe: [\"GET /enterprises/{enterprise}/settings/billing/advanced-security\"],\n getGithubAdvancedSecurityBillingOrg: [\"GET /orgs/{org}/settings/billing/advanced-security\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", {}, {\n renamed: [\"codeScanning\", \"listAlertInstances\"]\n }],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n codespaceMachinesForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/machines\"],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n createOrUpdateSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}\"],\n createWithPrForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"],\n createWithRepoForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/codespaces\"],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n deleteSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}\"],\n exportForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/exports\"],\n getExportDetailsForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/exports/{export_id}\"],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\"GET /user/codespaces/secrets/public-key\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n getSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}\"],\n listDevcontainersInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/devcontainers\"],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\"GET /orgs/{org}/codespaces\", {}, {\n renamedParameters: {\n org_id: \"org\"\n }\n }],\n listInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}/repositories\"],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n repoMachinesForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/machines\"],\n setRepositoriesForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories\"],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"],\n diffRange: [\"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n getServerStatistics: [\"GET /enterprise-installation/{enterprise_or_org}/server-statistics\"],\n listLabelsForSelfHostedRunnerForEnterprise: [\"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\"],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\"],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\"],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\"],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/repositories\"],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {}, {\n renamed: [\"migrations\", \"listReposForAuthenticatedUser\"]\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\"],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\"],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n createForRelease: [\"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n listForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"]\n }],\n acceptInvitationForAuthenticatedUser: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\"],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\"GET /repos/{owner}/{repo}/compare/{basehead}\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\"],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"]\n }],\n declineInvitationForAuthenticatedUser: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteTagProtection: [\"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\"],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\"],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\"],\n generateReleaseNotes: [\"POST /repos/{owner}/{repo}/releases/generate-notes\"],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForEnterprise: [\"GET /enterprises/{enterprise}/secret-scanning/alerts\"],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailForAuthenticatedUser\"]\n }],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"]\n }],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"]\n }],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"]\n }],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"]\n }],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"]\n }],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"]\n }],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"]\n }],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticatedUser\"]\n }],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticatedUser\"]\n }],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticatedUser\"]\n }],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"]\n }],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"]\n }],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"]\n }],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"5.16.2\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexports.legacyRestEndpointMethods = legacyRestEndpointMethods;\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");","module.exports = require(\"child_process\");","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3109);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACllCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;AEDA;AACA;AACA;AACA","sources":["../webpack://slo-tests/./lib/callExecutables.js","../webpack://slo-tests/./lib/checkResults.js","../webpack://slo-tests/./lib/cluster.js","../webpack://slo-tests/./lib/errorScheduler.js","../webpack://slo-tests/./lib/getInfrastractureEndpoints.js","../webpack://slo-tests/./lib/grafanaScreenshot.js","../webpack://slo-tests/./lib/main.js","../webpack://slo-tests/./lib/mutex.js","../webpack://slo-tests/./lib/parseArguments.js","../webpack://slo-tests/./lib/utils/groupDecorator.js","../webpack://slo-tests/./lib/utils/retry.js","../webpack://slo-tests/./lib/utils/withTimeout.js","../webpack://slo-tests/./lib/workload.js","../webpack://slo-tests/./node_modules/@actions/core/lib/command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/core.js","../webpack://slo-tests/./node_modules/@actions/core/lib/file-command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/path-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/summary.js","../webpack://slo-tests/./node_modules/@actions/core/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/context.js","../webpack://slo-tests/./node_modules/@actions/github/lib/github.js","../webpack://slo-tests/./node_modules/@actions/github/lib/internal/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/auth.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/index.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/proxy.js","../webpack://slo-tests/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/core/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request/dist-node/index.js","../webpack://slo-tests/./node_modules/before-after-hook/index.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/add.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/register.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/remove.js","../webpack://slo-tests/./node_modules/deprecation/dist-node/index.js","../webpack://slo-tests/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://slo-tests/./node_modules/node-fetch/lib/index.js","../webpack://slo-tests/./node_modules/once/once.js","../webpack://slo-tests/./node_modules/tr46/index.js","../webpack://slo-tests/./node_modules/tunnel/index.js","../webpack://slo-tests/./node_modules/tunnel/lib/tunnel.js","../webpack://slo-tests/./node_modules/universal-user-agent/dist-node/index.js","../webpack://slo-tests/./node_modules/uuid/dist/index.js","../webpack://slo-tests/./node_modules/uuid/dist/md5.js","../webpack://slo-tests/./node_modules/uuid/dist/nil.js","../webpack://slo-tests/./node_modules/uuid/dist/parse.js","../webpack://slo-tests/./node_modules/uuid/dist/regex.js","../webpack://slo-tests/./node_modules/uuid/dist/rng.js","../webpack://slo-tests/./node_modules/uuid/dist/sha1.js","../webpack://slo-tests/./node_modules/uuid/dist/stringify.js","../webpack://slo-tests/./node_modules/uuid/dist/v1.js","../webpack://slo-tests/./node_modules/uuid/dist/v3.js","../webpack://slo-tests/./node_modules/uuid/dist/v35.js","../webpack://slo-tests/./node_modules/uuid/dist/v4.js","../webpack://slo-tests/./node_modules/uuid/dist/v5.js","../webpack://slo-tests/./node_modules/uuid/dist/validate.js","../webpack://slo-tests/./node_modules/uuid/dist/version.js","../webpack://slo-tests/./node_modules/webidl-conversions/lib/index.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/public-api.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/utils.js","../webpack://slo-tests/./node_modules/wrappy/wrappy.js","../webpack://slo-tests/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://slo-tests/external node-commonjs \"assert\"","../webpack://slo-tests/external node-commonjs \"child_process\"","../webpack://slo-tests/external node-commonjs \"crypto\"","../webpack://slo-tests/external node-commonjs \"events\"","../webpack://slo-tests/external node-commonjs \"fs\"","../webpack://slo-tests/external node-commonjs \"http\"","../webpack://slo-tests/external node-commonjs \"https\"","../webpack://slo-tests/external node-commonjs \"net\"","../webpack://slo-tests/external node-commonjs \"os\"","../webpack://slo-tests/external node-commonjs \"path\"","../webpack://slo-tests/external node-commonjs \"punycode\"","../webpack://slo-tests/external node-commonjs \"stream\"","../webpack://slo-tests/external node-commonjs \"tls\"","../webpack://slo-tests/external node-commonjs \"url\"","../webpack://slo-tests/external node-commonjs \"util\"","../webpack://slo-tests/external node-commonjs \"zlib\"","../webpack://slo-tests/webpack/bootstrap","../webpack://slo-tests/webpack/runtime/compat","../webpack://slo-tests/webpack/before-startup","../webpack://slo-tests/webpack/startup","../webpack://slo-tests/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst child_process_1 = require(\"child_process\");\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nconst path_1 = __importDefault(require(\"path\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nlet kubectlPath = null;\nlet callId = 0;\nfunction prepareK8S(base64kubeconfig) {\n return (0, groupDecorator_1.logGroup)('Prepare k8s', () => {\n // create ~/.kube folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add kubeconfig\n if (base64kubeconfig.length > 0) {\n core.debug('Get kubeconfig string');\n const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8');\n core.info(`Write kubeconfig to ~/.kube/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig);\n }\n kubectlPath = call('which kubectl').split('\\n')[0];\n core.info(`kubectl path: ${kubectlPath}`);\n });\n}\nexports.prepareK8S = prepareK8S;\nfunction prepareAWS(awsCredentialsB64, awsConfigB64) {\n // create ~/.aws folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add awsCredentials\n if (awsCredentialsB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8');\n core.info(`Write awsCredentials to ~/.aws/credentials`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials);\n }\n // add awsConfig\n if (awsConfigB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8');\n core.info(`Write awsConfig to ~/.aws/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig);\n }\n}\nexports.prepareAWS = prepareAWS;\nfunction call(command, secret = false) {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' });\n core.debug(`Call #${id} result ${spawnResult}`);\n return spawnResult;\n}\nexports.call = call;\nfunction callAsync(command, secret = false, cwd = '.') {\n return new Promise((resolve, reject) => {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd });\n if (!proc.stdio || !proc.stdout || !proc.stderr) {\n core.info(`Error in callAsync #${id}: can't spawn process`);\n throw new Error(`Error in callAsync #${id}: can't spawn process`);\n }\n let out = '', err = '';\n proc.stdout.on('data', data => (out += data.toString()));\n proc.stderr.on('data', data => (err += data.toString()));\n proc.on('close', code => {\n core.debug(`Call #${id} async code = ${code}`);\n if (code == 0) {\n core.debug(`Call #${id} async output \\n${out}`);\n resolve(out);\n }\n else {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on close`);\n else\n core.debug(`Call #${id} async failed - on close:\\n${err}`);\n reject(new Error(err));\n }\n });\n proc.on('error', err => {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on error`);\n else\n core.debug(`Call #${id} async failed - on error:\\n${err}`);\n reject(err);\n });\n });\n}\nexports.callAsync = callAsync;\nfunction callKubernetes(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(`${kubectlPath} ${command}`);\n}\nexports.callKubernetes = callKubernetes;\nfunction callKubernetesPath(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPath = callKubernetesPath;\nfunction callKubernetesAsync(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(`${kubectlPath} ${command}`);\n}\nexports.callKubernetesAsync = callKubernetesAsync;\nfunction callKubernetesPathAsync(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPathAsync = callKubernetesPathAsync;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nfunction getUUID() {\n const hexstring = crypto_1.default.randomBytes(16).toString('hex');\n return (hexstring.substring(0, 8) +\n '-' +\n hexstring.substring(8, 12) +\n '-' +\n hexstring.substring(12, 16) +\n '-' +\n hexstring.substring(16, 20) +\n '-' +\n hexstring.substring(20));\n}\nexports.getUUID = getUUID;\nfunction getDataFromGrafana(fromDate, toDate, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = {\n queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, \n // requestId: `Q-${getUUID()}-${i}`,\n interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: {\n type: 'prometheus',\n uid: 'prometheus'\n }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))),\n range: {\n from: fromDate.toISOString(),\n to: toDate.toISOString(),\n raw: {\n from: fromDate.toISOString(),\n to: toDate.toISOString()\n }\n },\n from: '' + fromDate.valueOf(),\n to: '' + toDate.valueOf()\n };\n let requestId = data.queries.reduce((acc, v) => (acc += v.key), '');\n data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q)));\n let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`;\n busyboxCmd = busyboxCmd.replace(/'/g, \"'\\\\''\");\n core.debug(`getDataFromGrafana kube request:\\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`);\n return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8');\n });\n}\nexports.getDataFromGrafana = getDataFromGrafana;\nfunction parseRawGraph(dataString) {\n const data = JSON.parse(dataString);\n core.debug('Parsed JSON graph data ' + JSON.stringify(data));\n const keys = Object.keys(data.results);\n core.debug('Process graph data');\n return keys.reduce((acc, k) => {\n acc[k] = data.results[k].frames.map((f) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0],\n labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels\n });\n });\n return acc;\n }, {});\n}\nexports.parseRawGraph = parseRawGraph;\nfunction filterGraphData(filter) {\n return function filterGraphFun(result) {\n return Object.entries(filter).reduce((prev, filt) => {\n return prev && result.labels[filt[0]] === filt[1];\n }, true);\n };\n}\nexports.filterGraphData = filterGraphData;\nfunction checkGraphValues(workloadId, realResults, desiredResults) {\n // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]}\n let checks = [];\n for (const queryName of Object.keys(desiredResults)) {\n const result = realResults[queryName];\n const desired = desiredResults[queryName];\n for (const desiredRes of desired) {\n const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter);\n let inspected = (result || []).filter(filterGraphData(filter));\n const checkName = `${queryName}${JSON.stringify(filter)}`;\n if (inspected.length === 0) {\n checks.push([\n checkName,\n 'notfound',\n `Not found results by filter to inspect`\n ]);\n }\n else {\n for (const [i, inspectedRes] of Object.entries(inspected)) {\n const decision = desiredRes.value[0] === '>'\n ? inspectedRes.value > desiredRes.value[1]\n : inspectedRes.value < desiredRes.value[1];\n checks.push([\n `${checkName}[${i}]`,\n decision ? 'ok' : 'error',\n `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}`\n ]);\n }\n }\n }\n }\n return checks;\n}\nexports.checkGraphValues = checkGraphValues;\nfunction checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n core.info('Check results');\n core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`);\n if (!queries)\n queries = [\n {\n refId: 'success_rate',\n expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0',\n interval: '1s'\n },\n {\n refId: 'max_99_latency',\n expr: 'max_over_time(latency{quantile=\"0.99\"}[$__range])>0',\n interval: ''\n },\n {\n refId: 'fail_interval',\n expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0',\n interval: '1s'\n }\n ];\n const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () {\n const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries);\n core.debug('graphsRaw: ' + graphsRaw);\n return parseRawGraph(graphsRaw);\n }));\n core.debug('parsed: ' + JSON.stringify(parsed));\n const checks = checkGraphValues(workloadId, parsed, desiredResults);\n for (let i = 0; i < checks.length; i++) {\n const conclusion = checks[i][1] === 'error'\n ? 'failure'\n : checks[i][1] === 'notfound'\n ? 'neutral'\n : 'success';\n const checkParams = {\n owner: github.context.repo.owner,\n repo: github.context.repo.repo,\n name: `slo_check_${checks[i][0]}`,\n status: 'completed',\n conclusion: conclusion,\n output: {\n title: `SLO results check #${0}`,\n summary: checks[i][2],\n text: checks[i][2]\n }\n };\n yield octokit.rest.checks.create(checkParams);\n }\n return checks.filter(ch => ch[1] == 'error').length > 0;\n });\n}\nexports.checkResults = checkResults;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst callExecutables_1 = require(\"./callExecutables\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nlet databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content;\nlet storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content;\n/**\n * Create cluster with selected version\n * @param version YDB docker version\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction createCluster(version = '23.1.19', timeout, checkPeriod = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () {\n databaseManifest = databaseManifest.replace('${{VERSION}}', version);\n storageManifest = storageManifest.replace('${{VERSION}}', version);\n core.debug('database manifest:\\n\\n' + databaseManifest);\n core.debug('storage manifest:\\n\\n' + storageManifest);\n core.info('Apply database and storage manifests');\n core.info('storage apply result:\\n' +\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n core.debug('check status of cluster');\n const databaseStatus = getStatus('database');\n const storageStatus = getStatus('storage');\n core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`);\n if (databaseStatus !== lastDatabaseStatus) {\n core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`);\n lastDatabaseStatus = databaseStatus;\n }\n if (storageStatus !== lastStorageStatus) {\n core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`);\n lastStorageStatus = storageStatus;\n }\n if (databaseStatus === 'Ready' && storageStatus === 'Ready')\n return true;\n return false;\n }));\n }));\n });\n}\nexports.createCluster = createCluster;\nfunction getYdbVersions() {\n return (0, groupDecorator_1.logGroup)('Get versions', () => {\n const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb');\n const versions = versionsString.split('\\n').filter(s => s.length > 0);\n versions.sort();\n return versions;\n });\n}\nexports.getYdbVersions = getYdbVersions;\nfunction getStatus(statusOf) {\n const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`);\n return JSON.parse(res).state;\n}\nfunction deleteCluster() {\n return (0, groupDecorator_1.logGroup)('Delete cluster', () => {\n core.info('Delete database and storage manifests');\n try {\n core.info('Database delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample'));\n }\n catch (error) {\n core.info('Error while deleting database' + JSON.stringify(error));\n }\n try {\n core.info('Storage delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample'));\n }\n catch (error) {\n core.info('Error while deleting storage' + JSON.stringify(error));\n }\n try {\n const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath=\"{.items[*].metadata.name}\" -l ydb-cluster=slo-storage');\n core.debug('pvcs' + pvcs);\n core.info('PVC delete result:\\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`));\n }\n catch (error) {\n core.info('Error while deleting pvcs' + JSON.stringify(error));\n }\n });\n}\nexports.deleteCluster = deleteCluster;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.annotate = exports.errorScheduler = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nlet grafanaPod = null;\nfunction errorScheduler(grafanaPodName, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n // get database target's IP\n const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\\n')[0];\n core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`);\n // get grafana pod name\n grafanaPod = grafanaPodName;\n core.info(`Grafana pod name: ${grafanaPod}`);\n // wait until workload start?\n // what is workload to wait to start for?\n // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => {\n // const status = JSON.parse(\n // await callKubernetesAsync(\n // `get job/${workloadId}-wl-run -o=jsonpath={.status}`\n // )\n // )\n // if(status?.phase === 'Running') return true\n // return false\n // })\n yield new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n });\n const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` +\n ` sh -c \"wget -q -O- '${targetIP}:8765/tablets/app?` +\n `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' \"`;\n // freeze\n yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS);\n // unfreeze\n yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS);\n // delete pod\n yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS);\n // force delete pod\n yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS);\n // kill from inside\n yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c \"kill -2 1 && echo 'process killed'\"`, timeBetweenS);\n // TODO: add process sleep\n });\n}\nexports.errorScheduler = errorScheduler;\nfunction createError(name, kubeCommand, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Promise.allSettled([\n // run command\n (0, callExecutables_1.callKubernetesAsync)(kubeCommand),\n // annotate\n annotate(name),\n // wait till next\n new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n })\n ]).then(v => {\n if (v.filter(p => p.status === 'rejected').length > 0)\n return Promise.reject('Error in YDB error creation');\n });\n });\n}\n// no tags, but possible to add if needed\nfunction annotate(text, dashboardUID = '7CzMl5t4k') {\n const annotationsUrl = 'http://localhost:3000/api/annotations';\n const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`;\n const data = `{\\\\\"dashboardUID\\\\\":\\\\\"${dashboardUID}\\\\\", \\\\\"text\\\\\":\\\\\"${text}\\\\\", \\\\\"tags\\\\\":[]}`;\n return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c \"${createWgetPost(annotationsUrl, data)}\"`);\n}\nexports.annotate = annotate;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfrastractureEndpoints = void 0;\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nfunction getInfrastractureEndpoints() {\n return __awaiter(this, void 0, void 0, function* () {\n const services = [\n 'prometheus-operator',\n 'prometheus',\n 'prometheus-pushgateway',\n 'grafana',\n 'grafana-renderer',\n 'ydb-operator'\n ];\n return Promise.allSettled(services.map(getEndpoint)).then(res => {\n const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected');\n if (servicesWithoutPods.length > 0) {\n throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`);\n }\n return {\n prometheusOperator: res[0].value,\n prometheus: res[1].value,\n prometheusPushgateway: res[2].value,\n grafana: res[3].value,\n grafanaRenderer: res[4].value,\n ydbOperator: res[5].value\n };\n });\n });\n}\nexports.getInfrastractureEndpoints = getInfrastractureEndpoints;\nfunction getEndpoint(kubeName) {\n return (0, retry_1.retry)(2, () => {\n return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l \"app.kubernetes.io/name=${kubeName}\" -o jsonpath=\"{.items[0].metadata.name}\"`).then(s => s.split('\\n')[0]));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postComment = exports.grafanaScreenshot = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst callExecutables_1 = require(\"./callExecutables\");\nfunction grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`);\n const query = `http://grafana/render/d/${dashboard.split('/')[0]}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`;\n core.debug('grafana query: ' + query);\n const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c \"wget -q -O- '${query}' | base64\"`);\n core.debug('grafana imageb64: ' +\n imageb64.slice(0, 100) +\n '...TRUNCATED...' +\n imageb64.slice(-100));\n // write image to fs\n yield (0, callExecutables_1.callAsync)(`echo \"${imageb64}\" | base64 --decode > pic.png`);\n const pictureName = `${workloadId}-${new Date().valueOf()}.png`;\n // upload\n yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png \"s3://${path_1.default.join(s3Folder, pictureName)}\"`);\n // delete\n yield (0, callExecutables_1.callAsync)(`rm pic.png`);\n // return name\n const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName);\n core.debug('fullPictureUri: ' + fullPictureUri);\n return `${fullPictureUri}`;\n });\n}\nexports.grafanaScreenshot = grafanaScreenshot;\nfunction postComment(octokit, id, message) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!github_1.context.payload.pull_request)\n return;\n const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message });\n try {\n yield octokit.rest.issues.createComment(data);\n }\n catch (error) {\n yield octokit.rest.issues.updateComment(data);\n }\n });\n}\nexports.postComment = postComment;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst parseArguments_1 = require(\"./parseArguments\");\nconst callExecutables_1 = require(\"./callExecutables\");\nconst mutex_1 = require(\"./mutex\");\nconst cluster_1 = require(\"./cluster\");\nconst workload_1 = require(\"./workload\");\nconst getInfrastractureEndpoints_1 = require(\"./getInfrastractureEndpoints\");\nconst errorScheduler_1 = require(\"./errorScheduler\");\nconst retry_1 = require(\"./utils/retry\");\nconst checkResults_1 = require(\"./checkResults\");\nconst grafanaScreenshot_1 = require(\"./grafanaScreenshot\");\nconst crypto_1 = require(\"crypto\");\nconst isPullRequest = !!github.context.payload.pull_request;\nfunction main() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)();\n core.debug(`Setting up OctoKit`);\n const octokit = github.getOctokit(githubToken);\n (0, callExecutables_1.prepareK8S)(kubeconfig);\n (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig);\n yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword);\n // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer\n const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)();\n core.info(`Services pods: ${JSON.stringify(servicesPods)}`);\n core.info('Run SLO tests for: \\n' +\n workloads\n .map(option => {\n let str = `#${option.id}`;\n str += option.name ? `(${option.name})\\n` : '\\n';\n str += `path: '${option.path}'\\n`;\n str += option.buildContext\n ? `build context: '${option.buildContext}'\\n`\n : '';\n str += option.buildOptions\n ? `build options: '${option.buildOptions}'\\n`\n : '';\n return str;\n })\n .join('==='));\n const mutexId = workloads.length > 1\n ? workloads.map(v => v.id).join('__+__')\n : workloads[0].id;\n yield (0, mutex_1.obtainMutex)(mutexId, 30);\n core.info('Mutex obtained!');\n const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id));\n core.info('Create cluster and build all workloads');\n const builded = workloads.map(() => false);\n const clusterWorkloadRes = yield Promise.allSettled([\n (0, cluster_1.createCluster)(ydbVersion, 15),\n // TODO: create placeholder pods for databases\n // TODO: catch build error and stop cluster creation\n ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => {\n builded[idx] = true;\n }))\n ]);\n /** Indicates that cluster created, some of workloads builded and it's possible to run wl */\n const continueRun = clusterWorkloadRes[0].status === 'fulfilled' &&\n builded.filter(v => v).length > 0;\n core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`);\n if (builded.every(v => v)) {\n core.info('All workloads builded successfully');\n }\n else {\n if (continueRun) {\n builded.map((done, i) => {\n if (!done)\n core.info(`Error in '${workloads[i].id}' build`);\n else\n core.info(`'${workloads[i].id}' build successful`);\n });\n }\n else {\n core.info('No workloads builded!');\n }\n }\n if (continueRun) {\n // retry create operation one time in case of error\n const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () {\n return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: 2,\n args: `--min-partitions-count 6 --max-partitions-count 1000 ` +\n `--partition-size 1 --initial-data-count 1000`\n }));\n })));\n core.debug('create results: ' + JSON.stringify(createResult));\n if (createResult.filter(r => r.status === 'fulfilled').length === 0) {\n throw new Error('No workloads performed `create` action, exit');\n }\n else {\n // run in parrallel without retries\n const runResult = yield Promise.allSettled([\n ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60),\n args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` +\n `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`\n })),\n (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases)\n ]);\n core.debug('run results: ' + JSON.stringify(runResult));\n if (runResult\n .slice(0, workloads.length)\n .filter(r => r.status === 'fulfilled').length === 0) {\n core.info('No successfull workload runs!');\n throw new Error('No workloads runs completed successfully');\n }\n else {\n // TODO: somehow use objectives as input\n const objectives = {\n success_rate: [{ filter: {}, value: ['>', 0.98] }],\n max_99_latency: [\n { filter: { status: 'ok' }, value: ['<', 100] },\n { filter: { status: 'err' }, value: ['<', 30000] }\n ],\n fail_interval: [{ filter: {}, value: ['<', 20] }]\n };\n let promises = [];\n runResult.map((r, i) => {\n if (r.status === 'fulfilled' && i !== runResult.length - 1) {\n const timings = r.value;\n promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives));\n core.debug('isPullRequest=' + isPullRequest);\n if (isPullRequest) {\n core.debug('Push to promises grafana screenshot and postComment');\n promises.push((() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard);\n const comment = `\n :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**:\n \n [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()})\n \n ![SLO-${workloads[i].id}](${pictureUri})`;\n yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1')\n .update('nodejs-1')\n .digest()\n .readUint32BE(), comment);\n }))());\n }\n }\n });\n const res = yield Promise.allSettled(promises);\n core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res));\n }\n }\n }\n (0, cluster_1.deleteCluster)();\n (0, mutex_1.releaseMutex)();\n }\n catch (error) {\n if (error instanceof Error)\n core.setFailed(error.message);\n }\n });\n}\nconst isPostAction = !!core.getState('isPost');\nif (isPostAction) {\n core.info('Cleanup');\n core.debug('Remove .kube dir');\n (0, callExecutables_1.call)('rm -rf ~/.kube');\n core.debug('Remove .aws dir');\n (0, callExecutables_1.call)('rm -rf ~/.aws');\n}\nelse {\n core.info('Main SLO action');\n main();\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseMutex = exports.obtainMutex = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\n/** Is mutex busy (configmap has field busy) */\nfunction isBusy(name) {\n var _a, _b, _c;\n core.debug(`isBusy(${name})`);\n const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`);\n core.debug('isBusy result: ' + res);\n const configmap = JSON.parse(res);\n core.debug('configmap parsed: ' + JSON.stringify(configmap));\n if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) {\n core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`);\n return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy;\n }\n return false;\n}\nfunction setBusy(lockedBy) {\n core.debug(`setBusy(${lockedBy})`);\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n}\n/**\n * Obtain mutex\n * @param workloadId id to mention in mutex\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction obtainMutex(workloadId, timeout, checkPeriod = 20) {\n return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () {\n return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => {\n const busy = isBusy('slo-mutex');\n if (typeof busy === 'boolean' && !busy) {\n core.debug('Set mutex');\n setBusy(workloadId);\n core.info('Mutex obtained');\n core.debug('Mutex sleep 5s');\n (0, callExecutables_1.call)('sleep 5');\n core.debug('Re-check after sleep');\n const mutexObtainedBy = isBusy('slo-mutex');\n if (mutexObtainedBy !== workloadId) {\n core.info('Mutex is not obtained!');\n return false;\n }\n return true;\n }\n return false;\n });\n }));\n}\nexports.obtainMutex = obtainMutex;\nfunction releaseMutex() {\n return (0, groupDecorator_1.logGroup)('Release mutex', () => {\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n });\n}\nexports.releaseMutex = releaseMutex;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst cluster_1 = require(\"./cluster\");\nfunction parseArguments() {\n return (0, groupDecorator_1.logGroup)('Parse arguments', () => {\n let workloads = [];\n let i = -1, haveValue = true;\n do {\n const readedValue = getWorkloadParam(i);\n if (null === readedValue) {\n // can start from '' or from 0\n if (i !== -1)\n haveValue = false;\n }\n else {\n workloads.push(readedValue);\n }\n i++;\n } while (haveValue);\n const githubToken = core.getInput('GITHUB_TOKEN');\n const kubeconfig = core.getInput('KUBECONFIG_B64');\n const dockerRepo = core.getInput('DOCKER_REPO');\n const dockerFolder = core.getInput('DOCKER_FOLDER');\n const dockerUsername = core.getInput('DOCKER_USERNAME');\n const dockerPassword = core.getInput('DOCKER_PASSWORD');\n const awsCredentials = core.getInput('AWS_CREDENTIALS_B64');\n const awsConfig = core.getInput('AWS_CONFIG_B64');\n const s3Endpoint = core.getInput('s3_endpoint');\n const s3Folder = core.getInput('s3_images_folder');\n const grafanaDomain = core.getInput('grafana_domain');\n const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k';\n let ydbVersion = core.getInput('ydb_version');\n const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20');\n const shutdownTime = Number(core.getInput('shutdown_time') || '30');\n if (isNaN(timeBetweenPhases))\n throw new Error('time_between_phases is not a number');\n if (isNaN(shutdownTime))\n throw new Error('shutdown_time is not a number');\n if (ydbVersion === '')\n ydbVersion = '23.1.26';\n if (ydbVersion === 'newest') {\n core.info('Get YDB docker versions');\n const ydbVersions = (0, cluster_1.getYdbVersions)();\n ydbVersion = ydbVersions[ydbVersions.length - 1];\n core.info(`Use YDB docker version = '${ydbVersion}'`);\n }\n return {\n workloads,\n githubToken,\n kubeconfig,\n awsCredentials,\n awsConfig,\n s3Endpoint,\n s3Folder,\n dockerRepo,\n dockerFolder,\n dockerUsername,\n dockerPassword,\n ydbVersion,\n timeBetweenPhases,\n shutdownTime,\n grafanaDomain,\n grafanaDashboard\n };\n });\n}\nexports.parseArguments = parseArguments;\nfunction getWorkloadParam(id) {\n let suffix = id == -1 ? '' : `${id}`;\n const languageId = core.getInput('language_id' + suffix);\n const languageName = core.getInput('language' + suffix);\n const workloadPath = core.getInput('workload_path' + suffix);\n const workloadBuildContext = core.getInput('workload_build_context' + suffix);\n const workloadBuildOptions = core.getInput('workload_build_options' + suffix);\n core.debug(`getWorkloadParam(${id}):\n suffix='${suffix}'\n languageId='${languageId}'\n languageName='${languageName}'\n workloadPath='${workloadPath}'\n workloadBuildContext='${workloadBuildContext}'\n workloadBuildOptions='${workloadBuildOptions}'`);\n // id and path are required\n if (languageId.length === 0 || workloadPath.length === 0) {\n core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`);\n return null;\n }\n let options = {\n id: languageId,\n path: workloadPath\n };\n if (languageName)\n options.name = languageName;\n if (workloadBuildContext)\n options.buildContext = workloadBuildContext;\n if (workloadBuildOptions)\n options.buildOptions = workloadBuildOptions;\n return options;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logGroup = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nfunction logGroup(name, fun) {\n core.startGroup(name);\n const res = fun();\n if (res instanceof Promise) {\n return res.finally(() => {\n core.endGroup();\n });\n }\n else {\n core.endGroup();\n return res;\n }\n}\nexports.logGroup = logGroup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nfunction retry(retries, inner) {\n return __awaiter(this, void 0, void 0, function* () {\n let error;\n while (retries > 0) {\n try {\n return yield inner();\n }\n catch (e) {\n error = e;\n }\n retries--;\n }\n core.info('All retries have been used, re-throwing error');\n throw error;\n });\n}\nexports.retry = retry;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nclass TimeoutExceededError extends Error {\n}\nexports.TimeoutExceededError = TimeoutExceededError;\nfunction withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`);\n const deadline = new Date().valueOf() + timeoutM * 1000 * 60;\n core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n do {\n core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n if (yield checkFunc())\n return;\n yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000));\n } while (new Date().valueOf() < deadline);\n core.debug(`withTimeout throw timeout`);\n throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`);\n });\n}\nexports.withTimeout = withTimeout;\nfunction withTimeoutSimple(timeoutS, func) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.race([\n func,\n new Promise((_, reject) => setTimeout(reject, timeoutS * 1000))\n ]);\n });\n}\nexports.withTimeoutSimple = withTimeoutSimple;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nconst workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content;\nfunction dockerLogin(repo, user, password) {\n return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () {\n try {\n yield (0, callExecutables_1.callAsync)(`echo \"${password}\" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true);\n core.info('Successfully logged in');\n }\n catch (error) {\n // suppress error revealing user and password\n const msg = 'Incorrect docker repo, username or password';\n if ((error === null || error === void 0 ? void 0 : error.message) &&\n (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) {\n core.info(msg);\n }\n else {\n core.info('Something went wrong in docker login');\n }\n throw new Error(msg);\n }\n }));\n}\nexports.dockerLogin = dockerLogin;\nfunction generateDockerPath(repo, folder, id) {\n return `${repo}/${folder}/${id}`;\n}\nexports.generateDockerPath = generateDockerPath;\nfunction buildWorkload(id, dockerImage, workingDir, options, context) {\n if (!options || options.length === 0)\n options = '';\n if (!context || context.length === 0)\n context = '.';\n return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () {\n core.info('Build docker image');\n yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` +\n `-t ${dockerImage}:latest ` +\n `-t ${dockerImage}:gh-${github.context.sha} ` +\n `${options} ` +\n `${context}`, false, workingDir);\n core.info('Push docker tag @latest');\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`);\n core.info(`Push docker tag '@gh-${github.context.sha}'`);\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`);\n }));\n}\nexports.buildWorkload = buildWorkload;\nfunction runWorkload(command, options) {\n return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () {\n const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`;\n const workloadManifest = workloadManifestTemplate\n .replace(/\\$\\{\\{LANGUAGE_ID\\}\\}/g, options.id)\n .replace(/\\$\\{\\{COMMAND\\}\\}/g, command)\n .replace(/\\$\\{\\{DOCKER_IMAGE\\}\\}/g, options.dockerPath)\n .replace('${{ARGS}}', containerArgs\n .split(' ')\n .map(s => `'${s}'`)\n .join('\\n - '));\n core.debug(`Workload manifest: \\n\\n${workloadManifest}`);\n const startTime = new Date();\n core.info(`Workload apply ${command} result:\\n` +\n (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`));\n core.debug('Workload status check: ' + JSON.stringify(status));\n if (status.failed) {\n const msg = `Workload ${options.id} ${command} failed`;\n core.info(msg);\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n throw new Error(msg);\n }\n if (status.complete || status.succeeded)\n return true;\n return false;\n }));\n const endTime = new Date();\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n return { startTime, endTime };\n }));\n}\nexports.runWorkload = runWorkload;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n var _a, _b, _c;\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;\n this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;\n this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options, ...additionalPlugins) {\n const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);\n return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nexports.defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\n//# sourceMappingURL=proxy.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nconst Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\"POST /orgs/{org}/actions/runners/{runner_id}/labels\"],\n addCustomLabelsToSelfHostedRunnerForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n approveWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteActionsCacheById: [\"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"],\n deleteActionsCacheByKey: [\"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunAttemptLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\"GET /orgs/{org}/actions/cache/usage-by-repository\"],\n getActionsCacheUsageForEnterprise: [\"GET /enterprises/{enterprise}/actions/cache/usage\"],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/workflow\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/access\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listJobsForWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"],\n listLabelsForSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}/labels\"],\n listLabelsForSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForOrg: [\"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"],\n setCustomLabelsForSelfHostedRunnerForRepo: [\"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"],\n setWorkflowAccessToRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/access\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"]\n }],\n addRepoToInstallationForAuthenticatedUser: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\"POST /app/hook/deliveries/{delivery_id}/attempts\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"]\n }],\n removeRepoFromInstallationForAuthenticatedUser: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubAdvancedSecurityBillingGhe: [\"GET /enterprises/{enterprise}/settings/billing/advanced-security\"],\n getGithubAdvancedSecurityBillingOrg: [\"GET /orgs/{org}/settings/billing/advanced-security\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", {}, {\n renamed: [\"codeScanning\", \"listAlertInstances\"]\n }],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n codespaceMachinesForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/machines\"],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n createOrUpdateSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}\"],\n createWithPrForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"],\n createWithRepoForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/codespaces\"],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n deleteSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}\"],\n exportForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/exports\"],\n getExportDetailsForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/exports/{export_id}\"],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\"GET /user/codespaces/secrets/public-key\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n getSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}\"],\n listDevcontainersInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/devcontainers\"],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\"GET /orgs/{org}/codespaces\", {}, {\n renamedParameters: {\n org_id: \"org\"\n }\n }],\n listInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}/repositories\"],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n repoMachinesForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/machines\"],\n setRepositoriesForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories\"],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"],\n diffRange: [\"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n getServerStatistics: [\"GET /enterprise-installation/{enterprise_or_org}/server-statistics\"],\n listLabelsForSelfHostedRunnerForEnterprise: [\"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\"],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\"],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\"],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\"],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/repositories\"],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {}, {\n renamed: [\"migrations\", \"listReposForAuthenticatedUser\"]\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\"],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\"],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n createForRelease: [\"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n listForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"]\n }],\n acceptInvitationForAuthenticatedUser: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\"],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\"GET /repos/{owner}/{repo}/compare/{basehead}\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\"],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"]\n }],\n declineInvitationForAuthenticatedUser: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteTagProtection: [\"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\"],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\"],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\"],\n generateReleaseNotes: [\"POST /repos/{owner}/{repo}/releases/generate-notes\"],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForEnterprise: [\"GET /enterprises/{enterprise}/secret-scanning/alerts\"],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailForAuthenticatedUser\"]\n }],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"]\n }],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"]\n }],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"]\n }],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"]\n }],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"]\n }],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"]\n }],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"]\n }],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticatedUser\"]\n }],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticatedUser\"]\n }],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticatedUser\"]\n }],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"]\n }],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"]\n }],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"]\n }],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"5.16.2\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexports.legacyRestEndpointMethods = legacyRestEndpointMethods;\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");","module.exports = require(\"child_process\");","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3109);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index f20291b0..15b1e309 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,5 @@ import * as core from '@actions/core' import * as github from '@actions/github' -import {GitHub} from '@actions/github/lib/utils' import {parseArguments} from './parseArguments' import {call, prepareAWS, prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' @@ -261,5 +260,6 @@ if (isPostAction) { core.debug('Remove .aws dir') call('rm -rf ~/.aws') } else { + core.info('Main SLO action') main() } diff --git a/src/parseArguments.ts b/src/parseArguments.ts index 44141782..be4158fa 100644 --- a/src/parseArguments.ts +++ b/src/parseArguments.ts @@ -63,7 +63,6 @@ export function parseArguments() { core.info(`Use YDB docker version = '${ydbVersion}'`) } - // TODO: add other args return { workloads, githubToken, From 4c8b9a5503b56bd0c3b250129899e2363fd3222d Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 29 May 2023 14:45:09 +0300 Subject: [PATCH 41/77] fix: action post run bugfix --- action.yml | 4 +- dist/index.js | 11347 --------------------------------- dist/index.js.map | 1 - dist/main/index.js | 7 + dist/{ => main}/licenses.txt | 0 dist/post/index.js | 1 + dist/post/licenses.txt | 73 + dist/sourcemap-register.js | 1 - package.json | 4 +- src/main.ts | 16 +- src/post.ts | 8 + src/utils/withTimeout.ts | 15 +- 12 files changed, 104 insertions(+), 11373 deletions(-) delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map create mode 100644 dist/main/index.js rename dist/{ => main}/licenses.txt (100%) create mode 100644 dist/post/index.js create mode 100644 dist/post/licenses.txt delete mode 100644 dist/sourcemap-register.js create mode 100644 src/post.ts diff --git a/action.yml b/action.yml index 26b248d6..9997d7ff 100644 --- a/action.yml +++ b/action.yml @@ -94,5 +94,5 @@ inputs: required: false runs: using: 'node16' - main: 'dist/index.js' - post: 'dist/index.js' + main: 'dist/main/index.js' + post: 'dist/post/index.js' diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index 63038e74..00000000 --- a/dist/index.js +++ /dev/null @@ -1,11347 +0,0 @@ -require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 9419: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const child_process_1 = __nccwpck_require__(2081); -const fs_1 = __nccwpck_require__(7147); -const os_1 = __nccwpck_require__(2037); -const path_1 = __importDefault(__nccwpck_require__(1017)); -const groupDecorator_1 = __nccwpck_require__(8990); -let kubectlPath = null; -let callId = 0; -function prepareK8S(base64kubeconfig) { - return (0, groupDecorator_1.logGroup)('Prepare k8s', () => { - // create ~/.kube folder - const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube'); - core.info(`mkdir ${kubePath}`); - try { - (0, fs_1.mkdirSync)(kubePath); - } - catch (error) { - core.debug('error' + JSON.stringify(error)); - if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') { - core.debug(kubePath + ' EEXIST'); - } - else - throw error; - } - // add kubeconfig - if (base64kubeconfig.length > 0) { - core.debug('Get kubeconfig string'); - const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8'); - core.info(`Write kubeconfig to ~/.kube/config`); - (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig); - } - kubectlPath = call('which kubectl').split('\n')[0]; - core.info(`kubectl path: ${kubectlPath}`); - }); -} -exports.prepareK8S = prepareK8S; -function prepareAWS(awsCredentialsB64, awsConfigB64) { - // create ~/.aws folder - const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws'); - core.info(`mkdir ${kubePath}`); - try { - (0, fs_1.mkdirSync)(kubePath); - } - catch (error) { - core.debug('error' + JSON.stringify(error)); - if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') { - core.debug(kubePath + ' EEXIST'); - } - else - throw error; - } - // add awsCredentials - if (awsCredentialsB64.length > 0) { - core.debug('Get aws credentials string'); - const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8'); - core.info(`Write awsCredentials to ~/.aws/credentials`); - (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials); - } - // add awsConfig - if (awsConfigB64.length > 0) { - core.debug('Get aws credentials string'); - const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8'); - core.info(`Write awsConfig to ~/.aws/config`); - (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig); - } -} -exports.prepareAWS = prepareAWS; -function call(command, secret = false) { - const id = ++callId; - !secret && core.info(`Call #${id} command: '${command}'`); - const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' }); - core.debug(`Call #${id} result ${spawnResult}`); - return spawnResult; -} -exports.call = call; -function callAsync(command, secret = false, cwd = '.') { - return new Promise((resolve, reject) => { - const id = ++callId; - !secret && core.info(`Call #${id} command: '${command}'`); - const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd }); - if (!proc.stdio || !proc.stdout || !proc.stderr) { - core.info(`Error in callAsync #${id}: can't spawn process`); - throw new Error(`Error in callAsync #${id}: can't spawn process`); - } - let out = '', err = ''; - proc.stdout.on('data', data => (out += data.toString())); - proc.stderr.on('data', data => (err += data.toString())); - proc.on('close', code => { - core.debug(`Call #${id} async code = ${code}`); - if (code == 0) { - core.debug(`Call #${id} async output \n${out}`); - resolve(out); - } - else { - if (secret) - core.debug(`Call #${id} async with secrets failed - on close`); - else - core.debug(`Call #${id} async failed - on close:\n${err}`); - reject(new Error(err)); - } - }); - proc.on('error', err => { - if (secret) - core.debug(`Call #${id} async with secrets failed - on error`); - else - core.debug(`Call #${id} async failed - on error:\n${err}`); - reject(err); - }); - }); -} -exports.callAsync = callAsync; -function callKubernetes(command) { - if (kubectlPath === null) - throw new Error('K8s not initialized, call prepareK8S first'); - return call(`${kubectlPath} ${command}`); -} -exports.callKubernetes = callKubernetes; -function callKubernetesPath(commandGenerator) { - if (kubectlPath === null) - throw new Error('K8s not initialized, call prepareK8S first'); - return call(commandGenerator(kubectlPath)); -} -exports.callKubernetesPath = callKubernetesPath; -function callKubernetesAsync(command) { - if (kubectlPath === null) - throw new Error('K8s not initialized, call prepareK8S first'); - return callAsync(`${kubectlPath} ${command}`); -} -exports.callKubernetesAsync = callKubernetesAsync; -function callKubernetesPathAsync(commandGenerator) { - if (kubectlPath === null) - throw new Error('K8s not initialized, call prepareK8S first'); - return callAsync(commandGenerator(kubectlPath)); -} -exports.callKubernetesPathAsync = callKubernetesPathAsync; - - -/***/ }), - -/***/ 843: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0; -const crypto_1 = __importDefault(__nccwpck_require__(6113)); -const core = __importStar(__nccwpck_require__(2186)); -const github = __importStar(__nccwpck_require__(5438)); -const callExecutables_1 = __nccwpck_require__(9419); -const retry_1 = __nccwpck_require__(4542); -function getUUID() { - const hexstring = crypto_1.default.randomBytes(16).toString('hex'); - return (hexstring.substring(0, 8) + - '-' + - hexstring.substring(8, 12) + - '-' + - hexstring.substring(12, 16) + - '-' + - hexstring.substring(16, 20) + - '-' + - hexstring.substring(20)); -} -exports.getUUID = getUUID; -function getDataFromGrafana(fromDate, toDate, queries) { - return __awaiter(this, void 0, void 0, function* () { - const data = { - queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, - // requestId: `Q-${getUUID()}-${i}`, - interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: { - type: 'prometheus', - uid: 'prometheus' - }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))), - range: { - from: fromDate.toISOString(), - to: toDate.toISOString(), - raw: { - from: fromDate.toISOString(), - to: toDate.toISOString() - } - }, - from: '' + fromDate.valueOf(), - to: '' + toDate.valueOf() - }; - let requestId = data.queries.reduce((acc, v) => (acc += v.key), ''); - data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q))); - let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`; - busyboxCmd = busyboxCmd.replace(/'/g, "'\\''"); - core.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`); - return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8'); - }); -} -exports.getDataFromGrafana = getDataFromGrafana; -function parseRawGraph(dataString) { - const data = JSON.parse(dataString); - core.debug('Parsed JSON graph data ' + JSON.stringify(data)); - const keys = Object.keys(data.results); - core.debug('Process graph data'); - return keys.reduce((acc, k) => { - acc[k] = data.results[k].frames.map((f) => { - var _a, _b, _c, _d, _e, _f; - return ({ - value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0], - labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels - }); - }); - return acc; - }, {}); -} -exports.parseRawGraph = parseRawGraph; -function filterGraphData(filter) { - return function filterGraphFun(result) { - return Object.entries(filter).reduce((prev, filt) => { - return prev && result.labels[filt[0]] === filt[1]; - }, true); - }; -} -exports.filterGraphData = filterGraphData; -function checkGraphValues(workloadId, realResults, desiredResults) { - // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]} - let checks = []; - for (const queryName of Object.keys(desiredResults)) { - const result = realResults[queryName]; - const desired = desiredResults[queryName]; - for (const desiredRes of desired) { - const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter); - let inspected = (result || []).filter(filterGraphData(filter)); - const checkName = `${queryName}${JSON.stringify(filter)}`; - if (inspected.length === 0) { - checks.push([ - checkName, - 'notfound', - `Not found results by filter to inspect` - ]); - } - else { - for (const [i, inspectedRes] of Object.entries(inspected)) { - const decision = desiredRes.value[0] === '>' - ? inspectedRes.value > desiredRes.value[1] - : inspectedRes.value < desiredRes.value[1]; - checks.push([ - `${checkName}[${i}]`, - decision ? 'ok' : 'error', - `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}` - ]); - } - } - } - } - return checks; -} -exports.checkGraphValues = checkGraphValues; -function checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) { - return __awaiter(this, void 0, void 0, function* () { - core.info('Check results'); - core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`); - if (!queries) - queries = [ - { - refId: 'success_rate', - expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0', - interval: '1s' - }, - { - refId: 'max_99_latency', - expr: 'max_over_time(latency{quantile="0.99"}[$__range])>0', - interval: '' - }, - { - refId: 'fail_interval', - expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0', - interval: '1s' - } - ]; - const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () { - const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries); - core.debug('graphsRaw: ' + graphsRaw); - return parseRawGraph(graphsRaw); - })); - core.debug('parsed: ' + JSON.stringify(parsed)); - const checks = checkGraphValues(workloadId, parsed, desiredResults); - for (let i = 0; i < checks.length; i++) { - const conclusion = checks[i][1] === 'error' - ? 'failure' - : checks[i][1] === 'notfound' - ? 'neutral' - : 'success'; - const checkParams = { - owner: github.context.repo.owner, - repo: github.context.repo.repo, - name: `slo_check_${checks[i][0]}`, - status: 'completed', - conclusion: conclusion, - output: { - title: `SLO results check #${0}`, - summary: checks[i][2], - text: checks[i][2] - } - }; - yield octokit.rest.checks.create(checkParams); - } - return checks.filter(ch => ch[1] == 'error').length > 0; - }); -} -exports.checkResults = checkResults; - - -/***/ }), - -/***/ 3179: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const groupDecorator_1 = __nccwpck_require__(8990); -const callExecutables_1 = __nccwpck_require__(9419); -// npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json -const manifests_json_1 = __importDefault(__nccwpck_require__(1542)); -const withTimeout_1 = __nccwpck_require__(5476); -let databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content; -let storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content; -/** - * Create cluster with selected version - * @param version YDB docker version - * @param timeout timeout in minutes - * @param checkPeriod update period in seconds - */ -function createCluster(version = '23.1.19', timeout, checkPeriod = 10) { - return __awaiter(this, void 0, void 0, function* () { - return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () { - databaseManifest = databaseManifest.replace('${{VERSION}}', version); - storageManifest = storageManifest.replace('${{VERSION}}', version); - core.debug('database manifest:\n\n' + databaseManifest); - core.debug('storage manifest:\n\n' + storageManifest); - core.info('Apply database and storage manifests'); - core.info('storage apply result:\n' + - (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () { - core.debug('check status of cluster'); - const databaseStatus = getStatus('database'); - const storageStatus = getStatus('storage'); - core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`); - if (databaseStatus !== lastDatabaseStatus) { - core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`); - lastDatabaseStatus = databaseStatus; - } - if (storageStatus !== lastStorageStatus) { - core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`); - lastStorageStatus = storageStatus; - } - if (databaseStatus === 'Ready' && storageStatus === 'Ready') - return true; - return false; - })); - })); - }); -} -exports.createCluster = createCluster; -function getYdbVersions() { - return (0, groupDecorator_1.logGroup)('Get versions', () => { - const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb'); - const versions = versionsString.split('\n').filter(s => s.length > 0); - versions.sort(); - return versions; - }); -} -exports.getYdbVersions = getYdbVersions; -function getStatus(statusOf) { - const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`); - return JSON.parse(res).state; -} -function deleteCluster() { - return (0, groupDecorator_1.logGroup)('Delete cluster', () => { - core.info('Delete database and storage manifests'); - try { - core.info('Database delete result:\n' + - (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample')); - } - catch (error) { - core.info('Error while deleting database' + JSON.stringify(error)); - } - try { - core.info('Storage delete result:\n' + - (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample')); - } - catch (error) { - core.info('Error while deleting storage' + JSON.stringify(error)); - } - try { - const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage'); - core.debug('pvcs' + pvcs); - core.info('PVC delete result:\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`)); - } - catch (error) { - core.info('Error while deleting pvcs' + JSON.stringify(error)); - } - }); -} -exports.deleteCluster = deleteCluster; - - -/***/ }), - -/***/ 8995: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.annotate = exports.errorScheduler = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const callExecutables_1 = __nccwpck_require__(9419); -let grafanaPod = null; -function errorScheduler(grafanaPodName, timeBetweenS) { - return __awaiter(this, void 0, void 0, function* () { - // get database target's IP - const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\n')[0]; - core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`); - // get grafana pod name - grafanaPod = grafanaPodName; - core.info(`Grafana pod name: ${grafanaPod}`); - // wait until workload start? - // what is workload to wait to start for? - // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => { - // const status = JSON.parse( - // await callKubernetesAsync( - // `get job/${workloadId}-wl-run -o=jsonpath={.status}` - // ) - // ) - // if(status?.phase === 'Running') return true - // return false - // }) - yield new Promise(resolve => { - setTimeout(resolve, timeBetweenS * 1000); - }); - const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` + - ` sh -c "wget -q -O- '${targetIP}:8765/tablets/app?` + - `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' "`; - // freeze - yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS); - // unfreeze - yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS); - // delete pod - yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS); - // force delete pod - yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS); - // kill from inside - yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`, timeBetweenS); - // TODO: add process sleep - }); -} -exports.errorScheduler = errorScheduler; -function createError(name, kubeCommand, timeBetweenS) { - return __awaiter(this, void 0, void 0, function* () { - return yield Promise.allSettled([ - // run command - (0, callExecutables_1.callKubernetesAsync)(kubeCommand), - // annotate - annotate(name), - // wait till next - new Promise(resolve => { - setTimeout(resolve, timeBetweenS * 1000); - }) - ]).then(v => { - if (v.filter(p => p.status === 'rejected').length > 0) - return Promise.reject('Error in YDB error creation'); - }); - }); -} -// no tags, but possible to add if needed -function annotate(text, dashboardUID = '7CzMl5t4k') { - const annotationsUrl = 'http://localhost:3000/api/annotations'; - const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`; - const data = `{\\"dashboardUID\\":\\"${dashboardUID}\\", \\"text\\":\\"${text}\\", \\"tags\\":[]}`; - return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c "${createWgetPost(annotationsUrl, data)}"`); -} -exports.annotate = annotate; - - -/***/ }), - -/***/ 8660: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getInfrastractureEndpoints = void 0; -const callExecutables_1 = __nccwpck_require__(9419); -const retry_1 = __nccwpck_require__(4542); -const withTimeout_1 = __nccwpck_require__(5476); -function getInfrastractureEndpoints() { - return __awaiter(this, void 0, void 0, function* () { - const services = [ - 'prometheus-operator', - 'prometheus', - 'prometheus-pushgateway', - 'grafana', - 'grafana-renderer', - 'ydb-operator' - ]; - return Promise.allSettled(services.map(getEndpoint)).then(res => { - const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected'); - if (servicesWithoutPods.length > 0) { - throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`); - } - return { - prometheusOperator: res[0].value, - prometheus: res[1].value, - prometheusPushgateway: res[2].value, - grafana: res[3].value, - grafanaRenderer: res[4].value, - ydbOperator: res[5].value - }; - }); - }); -} -exports.getInfrastractureEndpoints = getInfrastractureEndpoints; -function getEndpoint(kubeName) { - return (0, retry_1.retry)(2, () => { - return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${kubeName}" -o jsonpath="{.items[0].metadata.name}"`).then(s => s.split('\n')[0])); - }); -} - - -/***/ }), - -/***/ 1413: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.postComment = exports.grafanaScreenshot = void 0; -const path_1 = __importDefault(__nccwpck_require__(1017)); -const core = __importStar(__nccwpck_require__(2186)); -const github_1 = __nccwpck_require__(5438); -const callExecutables_1 = __nccwpck_require__(9419); -function grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) { - return __awaiter(this, void 0, void 0, function* () { - core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`); - const query = `http://grafana/render/d/${dashboard.split('/')[0]}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`; - core.debug('grafana query: ' + query); - const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"`); - core.debug('grafana imageb64: ' + - imageb64.slice(0, 100) + - '...TRUNCATED...' + - imageb64.slice(-100)); - // write image to fs - yield (0, callExecutables_1.callAsync)(`echo "${imageb64}" | base64 --decode > pic.png`); - const pictureName = `${workloadId}-${new Date().valueOf()}.png`; - // upload - yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png "s3://${path_1.default.join(s3Folder, pictureName)}"`); - // delete - yield (0, callExecutables_1.callAsync)(`rm pic.png`); - // return name - const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName); - core.debug('fullPictureUri: ' + fullPictureUri); - return `${fullPictureUri}`; - }); -} -exports.grafanaScreenshot = grafanaScreenshot; -function postComment(octokit, id, message) { - return __awaiter(this, void 0, void 0, function* () { - if (!github_1.context.payload.pull_request) - return; - const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message }); - try { - yield octokit.rest.issues.createComment(data); - } - catch (error) { - yield octokit.rest.issues.updateComment(data); - } - }); -} -exports.postComment = postComment; - - -/***/ }), - -/***/ 3109: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const core = __importStar(__nccwpck_require__(2186)); -const github = __importStar(__nccwpck_require__(5438)); -const parseArguments_1 = __nccwpck_require__(7653); -const callExecutables_1 = __nccwpck_require__(9419); -const mutex_1 = __nccwpck_require__(1762); -const cluster_1 = __nccwpck_require__(3179); -const workload_1 = __nccwpck_require__(6186); -const getInfrastractureEndpoints_1 = __nccwpck_require__(8660); -const errorScheduler_1 = __nccwpck_require__(8995); -const retry_1 = __nccwpck_require__(4542); -const checkResults_1 = __nccwpck_require__(843); -const grafanaScreenshot_1 = __nccwpck_require__(1413); -const crypto_1 = __nccwpck_require__(6113); -const isPullRequest = !!github.context.payload.pull_request; -function main() { - return __awaiter(this, void 0, void 0, function* () { - try { - let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)(); - core.debug(`Setting up OctoKit`); - const octokit = github.getOctokit(githubToken); - (0, callExecutables_1.prepareK8S)(kubeconfig); - (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig); - yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword); - // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer - const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)(); - core.info(`Services pods: ${JSON.stringify(servicesPods)}`); - core.info('Run SLO tests for: \n' + - workloads - .map(option => { - let str = `#${option.id}`; - str += option.name ? `(${option.name})\n` : '\n'; - str += `path: '${option.path}'\n`; - str += option.buildContext - ? `build context: '${option.buildContext}'\n` - : ''; - str += option.buildOptions - ? `build options: '${option.buildOptions}'\n` - : ''; - return str; - }) - .join('===')); - const mutexId = workloads.length > 1 - ? workloads.map(v => v.id).join('__+__') - : workloads[0].id; - yield (0, mutex_1.obtainMutex)(mutexId, 30); - core.info('Mutex obtained!'); - const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id)); - core.info('Create cluster and build all workloads'); - const builded = workloads.map(() => false); - const clusterWorkloadRes = yield Promise.allSettled([ - (0, cluster_1.createCluster)(ydbVersion, 15), - // TODO: create placeholder pods for databases - // TODO: catch build error and stop cluster creation - ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => { - builded[idx] = true; - })) - ]); - /** Indicates that cluster created, some of workloads builded and it's possible to run wl */ - const continueRun = clusterWorkloadRes[0].status === 'fulfilled' && - builded.filter(v => v).length > 0; - core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`); - if (builded.every(v => v)) { - core.info('All workloads builded successfully'); - } - else { - if (continueRun) { - builded.map((done, i) => { - if (!done) - core.info(`Error in '${workloads[i].id}' build`); - else - core.info(`'${workloads[i].id}' build successful`); - }); - } - else { - core.info('No workloads builded!'); - } - } - if (continueRun) { - // retry create operation one time in case of error - const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () { - return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', { - id: wl.id, - dockerPath: dockerPaths[idx], - timeoutMins: 2, - args: `--min-partitions-count 6 --max-partitions-count 1000 ` + - `--partition-size 1 --initial-data-count 1000` - })); - }))); - core.debug('create results: ' + JSON.stringify(createResult)); - if (createResult.filter(r => r.status === 'fulfilled').length === 0) { - throw new Error('No workloads performed `create` action, exit'); - } - else { - // run in parrallel without retries - const runResult = yield Promise.allSettled([ - ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', { - id: wl.id, - dockerPath: dockerPaths[idx], - timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60), - args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` + - `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091` - })), - (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases) - ]); - core.debug('run results: ' + JSON.stringify(runResult)); - if (runResult - .slice(0, workloads.length) - .filter(r => r.status === 'fulfilled').length === 0) { - core.info('No successfull workload runs!'); - throw new Error('No workloads runs completed successfully'); - } - else { - // TODO: somehow use objectives as input - const objectives = { - success_rate: [{ filter: {}, value: ['>', 0.98] }], - max_99_latency: [ - { filter: { status: 'ok' }, value: ['<', 100] }, - { filter: { status: 'err' }, value: ['<', 30000] } - ], - fail_interval: [{ filter: {}, value: ['<', 20] }] - }; - let promises = []; - runResult.map((r, i) => { - if (r.status === 'fulfilled' && i !== runResult.length - 1) { - const timings = r.value; - promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives)); - core.debug('isPullRequest=' + isPullRequest); - if (isPullRequest) { - core.debug('Push to promises grafana screenshot and postComment'); - promises.push((() => __awaiter(this, void 0, void 0, function* () { - var _a; - const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard); - const comment = ` - :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**: - - [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()}) - - ![SLO-${workloads[i].id}](${pictureUri})`; - yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1') - .update('nodejs-1') - .digest() - .readUint32BE(), comment); - }))()); - } - } - }); - const res = yield Promise.allSettled(promises); - core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res)); - } - } - } - (0, cluster_1.deleteCluster)(); - (0, mutex_1.releaseMutex)(); - } - catch (error) { - if (error instanceof Error) - core.setFailed(error.message); - } - }); -} -const isPostAction = !!core.getState('isPost'); -if (isPostAction) { - core.info('Cleanup'); - core.debug('Remove .kube dir'); - (0, callExecutables_1.call)('rm -rf ~/.kube'); - core.debug('Remove .aws dir'); - (0, callExecutables_1.call)('rm -rf ~/.aws'); -} -else { - core.info('Main SLO action'); - main(); -} - - -/***/ }), - -/***/ 1762: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.releaseMutex = exports.obtainMutex = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const callExecutables_1 = __nccwpck_require__(9419); -const groupDecorator_1 = __nccwpck_require__(8990); -const withTimeout_1 = __nccwpck_require__(5476); -/** Is mutex busy (configmap has field busy) */ -function isBusy(name) { - var _a, _b, _c; - core.debug(`isBusy(${name})`); - const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`); - core.debug('isBusy result: ' + res); - const configmap = JSON.parse(res); - core.debug('configmap parsed: ' + JSON.stringify(configmap)); - if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) { - core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`); - return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy; - } - return false; -} -function setBusy(lockedBy) { - core.debug(`setBusy(${lockedBy})`); - (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`); -} -/** - * Obtain mutex - * @param workloadId id to mention in mutex - * @param timeout timeout in minutes - * @param checkPeriod update period in seconds - */ -function obtainMutex(workloadId, timeout, checkPeriod = 20) { - return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () { - return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => { - const busy = isBusy('slo-mutex'); - if (typeof busy === 'boolean' && !busy) { - core.debug('Set mutex'); - setBusy(workloadId); - core.info('Mutex obtained'); - core.debug('Mutex sleep 5s'); - (0, callExecutables_1.call)('sleep 5'); - core.debug('Re-check after sleep'); - const mutexObtainedBy = isBusy('slo-mutex'); - if (mutexObtainedBy !== workloadId) { - core.info('Mutex is not obtained!'); - return false; - } - return true; - } - return false; - }); - })); -} -exports.obtainMutex = obtainMutex; -function releaseMutex() { - return (0, groupDecorator_1.logGroup)('Release mutex', () => { - (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`); - }); -} -exports.releaseMutex = releaseMutex; - - -/***/ }), - -/***/ 7653: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parseArguments = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const groupDecorator_1 = __nccwpck_require__(8990); -const cluster_1 = __nccwpck_require__(3179); -function parseArguments() { - return (0, groupDecorator_1.logGroup)('Parse arguments', () => { - let workloads = []; - let i = -1, haveValue = true; - do { - const readedValue = getWorkloadParam(i); - if (null === readedValue) { - // can start from '' or from 0 - if (i !== -1) - haveValue = false; - } - else { - workloads.push(readedValue); - } - i++; - } while (haveValue); - const githubToken = core.getInput('GITHUB_TOKEN'); - const kubeconfig = core.getInput('KUBECONFIG_B64'); - const dockerRepo = core.getInput('DOCKER_REPO'); - const dockerFolder = core.getInput('DOCKER_FOLDER'); - const dockerUsername = core.getInput('DOCKER_USERNAME'); - const dockerPassword = core.getInput('DOCKER_PASSWORD'); - const awsCredentials = core.getInput('AWS_CREDENTIALS_B64'); - const awsConfig = core.getInput('AWS_CONFIG_B64'); - const s3Endpoint = core.getInput('s3_endpoint'); - const s3Folder = core.getInput('s3_images_folder'); - const grafanaDomain = core.getInput('grafana_domain'); - const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k'; - let ydbVersion = core.getInput('ydb_version'); - const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20'); - const shutdownTime = Number(core.getInput('shutdown_time') || '30'); - if (isNaN(timeBetweenPhases)) - throw new Error('time_between_phases is not a number'); - if (isNaN(shutdownTime)) - throw new Error('shutdown_time is not a number'); - if (ydbVersion === '') - ydbVersion = '23.1.26'; - if (ydbVersion === 'newest') { - core.info('Get YDB docker versions'); - const ydbVersions = (0, cluster_1.getYdbVersions)(); - ydbVersion = ydbVersions[ydbVersions.length - 1]; - core.info(`Use YDB docker version = '${ydbVersion}'`); - } - return { - workloads, - githubToken, - kubeconfig, - awsCredentials, - awsConfig, - s3Endpoint, - s3Folder, - dockerRepo, - dockerFolder, - dockerUsername, - dockerPassword, - ydbVersion, - timeBetweenPhases, - shutdownTime, - grafanaDomain, - grafanaDashboard - }; - }); -} -exports.parseArguments = parseArguments; -function getWorkloadParam(id) { - let suffix = id == -1 ? '' : `${id}`; - const languageId = core.getInput('language_id' + suffix); - const languageName = core.getInput('language' + suffix); - const workloadPath = core.getInput('workload_path' + suffix); - const workloadBuildContext = core.getInput('workload_build_context' + suffix); - const workloadBuildOptions = core.getInput('workload_build_options' + suffix); - core.debug(`getWorkloadParam(${id}): - suffix='${suffix}' - languageId='${languageId}' - languageName='${languageName}' - workloadPath='${workloadPath}' - workloadBuildContext='${workloadBuildContext}' - workloadBuildOptions='${workloadBuildOptions}'`); - // id and path are required - if (languageId.length === 0 || workloadPath.length === 0) { - core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`); - return null; - } - let options = { - id: languageId, - path: workloadPath - }; - if (languageName) - options.name = languageName; - if (workloadBuildContext) - options.buildContext = workloadBuildContext; - if (workloadBuildOptions) - options.buildOptions = workloadBuildOptions; - return options; -} - - -/***/ }), - -/***/ 8990: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.logGroup = void 0; -const core = __importStar(__nccwpck_require__(2186)); -// eslint-disable-next-line @typescript-eslint/promise-function-async -function logGroup(name, fun) { - core.startGroup(name); - const res = fun(); - if (res instanceof Promise) { - return res.finally(() => { - core.endGroup(); - }); - } - else { - core.endGroup(); - return res; - } -} -exports.logGroup = logGroup; - - -/***/ }), - -/***/ 4542: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.retry = void 0; -const core = __importStar(__nccwpck_require__(2186)); -function retry(retries, inner) { - return __awaiter(this, void 0, void 0, function* () { - let error; - while (retries > 0) { - try { - return yield inner(); - } - catch (e) { - error = e; - } - retries--; - } - core.info('All retries have been used, re-throwing error'); - throw error; - }); -} -exports.retry = retry; - - -/***/ }), - -/***/ 5476: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0; -const core = __importStar(__nccwpck_require__(2186)); -class TimeoutExceededError extends Error { -} -exports.TimeoutExceededError = TimeoutExceededError; -function withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) { - return __awaiter(this, void 0, void 0, function* () { - core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`); - const deadline = new Date().valueOf() + timeoutM * 1000 * 60; - core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`); - do { - core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`); - if (yield checkFunc()) - return; - yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000)); - } while (new Date().valueOf() < deadline); - core.debug(`withTimeout throw timeout`); - throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`); - }); -} -exports.withTimeout = withTimeout; -function withTimeoutSimple(timeoutS, func) { - return __awaiter(this, void 0, void 0, function* () { - return Promise.race([ - func, - new Promise((_, reject) => setTimeout(reject, timeoutS * 1000)) - ]); - }); -} -exports.withTimeoutSimple = withTimeoutSimple; - - -/***/ }), - -/***/ 6186: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const github = __importStar(__nccwpck_require__(5438)); -const callExecutables_1 = __nccwpck_require__(9419); -const groupDecorator_1 = __nccwpck_require__(8990); -// npx fs-to-json --input "k8s/ci/*.yaml" --output src/manifests.json -const manifests_json_1 = __importDefault(__nccwpck_require__(1542)); -const withTimeout_1 = __nccwpck_require__(5476); -const workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content; -function dockerLogin(repo, user, password) { - return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () { - try { - yield (0, callExecutables_1.callAsync)(`echo "${password}" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true); - core.info('Successfully logged in'); - } - catch (error) { - // suppress error revealing user and password - const msg = 'Incorrect docker repo, username or password'; - if ((error === null || error === void 0 ? void 0 : error.message) && - (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) { - core.info(msg); - } - else { - core.info('Something went wrong in docker login'); - } - throw new Error(msg); - } - })); -} -exports.dockerLogin = dockerLogin; -function generateDockerPath(repo, folder, id) { - return `${repo}/${folder}/${id}`; -} -exports.generateDockerPath = generateDockerPath; -function buildWorkload(id, dockerImage, workingDir, options, context) { - if (!options || options.length === 0) - options = ''; - if (!context || context.length === 0) - context = '.'; - return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () { - core.info('Build docker image'); - yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` + - `-t ${dockerImage}:latest ` + - `-t ${dockerImage}:gh-${github.context.sha} ` + - `${options} ` + - `${context}`, false, workingDir); - core.info('Push docker tag @latest'); - yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`); - core.info(`Push docker tag '@gh-${github.context.sha}'`); - yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`); - })); -} -exports.buildWorkload = buildWorkload; -function runWorkload(command, options) { - return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () { - const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`; - const workloadManifest = workloadManifestTemplate - .replace(/\$\{\{LANGUAGE_ID\}\}/g, options.id) - .replace(/\$\{\{COMMAND\}\}/g, command) - .replace(/\$\{\{DOCKER_IMAGE\}\}/g, options.dockerPath) - .replace('${{ARGS}}', containerArgs - .split(' ') - .map(s => `'${s}'`) - .join('\n - ')); - core.debug(`Workload manifest: \n\n${workloadManifest}`); - const startTime = new Date(); - core.info(`Workload apply ${command} result:\n` + - (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () { - const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`)); - core.debug('Workload status check: ' + JSON.stringify(status)); - if (status.failed) { - const msg = `Workload ${options.id} ${command} failed`; - core.info(msg); - // print logs - core.info(`Workload ${options.id} ${command} logs:\n` + - (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`))); - throw new Error(msg); - } - if (status.complete || status.succeeded) - return true; - return false; - })); - const endTime = new Date(); - // print logs - core.info(`Workload ${options.id} ${command} logs:\n` + - (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`))); - return { startTime, endTime }; - })); -} -exports.runWorkload = runWorkload; - - -/***/ }), - -/***/ 7351: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.issue = exports.issueCommand = void 0; -const os = __importStar(__nccwpck_require__(2037)); -const utils_1 = __nccwpck_require__(5278); -/** - * Commands - * - * Command Format: - * ::name key=value,key=value::message - * - * Examples: - * ::warning::This is the message - * ::set-env name=MY_VAR::some value - */ -function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); -} -exports.issueCommand = issueCommand; -function issue(name, message = '') { - issueCommand(name, {}, message); -} -exports.issue = issue; -const CMD_STRING = '::'; -class Command { - constructor(command, properties, message) { - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - toString() { - let cmdStr = CMD_STRING + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - let first = true; - for (const key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; - if (val) { - if (first) { - first = false; - } - else { - cmdStr += ','; - } - cmdStr += `${key}=${escapeProperty(val)}`; - } - } - } - } - cmdStr += `${CMD_STRING}${escapeData(this.message)}`; - return cmdStr; - } -} -function escapeData(s) { - return utils_1.toCommandValue(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A'); -} -function escapeProperty(s) { - return utils_1.toCommandValue(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/:/g, '%3A') - .replace(/,/g, '%2C'); -} -//# sourceMappingURL=command.js.map - -/***/ }), - -/***/ 2186: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; -const command_1 = __nccwpck_require__(7351); -const file_command_1 = __nccwpck_require__(717); -const utils_1 = __nccwpck_require__(5278); -const os = __importStar(__nccwpck_require__(2037)); -const path = __importStar(__nccwpck_require__(1017)); -const oidc_utils_1 = __nccwpck_require__(8041); -/** - * The code to exit an action - */ -var ExitCode; -(function (ExitCode) { - /** - * A code indicating that the action was successful - */ - ExitCode[ExitCode["Success"] = 0] = "Success"; - /** - * A code indicating that the action was a failure - */ - ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); -//----------------------------------------------------------------------- -// Variables -//----------------------------------------------------------------------- -/** - * Sets env variable for this action and future actions in the job - * @param name the name of the variable to set - * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function exportVariable(name, val) { - const convertedVal = utils_1.toCommandValue(val); - process.env[name] = convertedVal; - const filePath = process.env['GITHUB_ENV'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val)); - } - command_1.issueCommand('set-env', { name }, convertedVal); -} -exports.exportVariable = exportVariable; -/** - * Registers a secret which will get masked from logs - * @param secret value of the secret - */ -function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); -} -exports.setSecret = setSecret; -/** - * Prepends inputPath to the PATH (for this action and future actions) - * @param inputPath - */ -function addPath(inputPath) { - const filePath = process.env['GITHUB_PATH'] || ''; - if (filePath) { - file_command_1.issueFileCommand('PATH', inputPath); - } - else { - command_1.issueCommand('add-path', {}, inputPath); - } - process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; -} -exports.addPath = addPath; -/** - * Gets the value of an input. - * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. - * Returns an empty string if the value is not defined. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string - */ -function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - if (options && options.trimWhitespace === false) { - return val; - } - return val.trim(); -} -exports.getInput = getInput; -/** - * Gets the values of an multiline input. Each value is also trimmed. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string[] - * - */ -function getMultilineInput(name, options) { - const inputs = getInput(name, options) - .split('\n') - .filter(x => x !== ''); - if (options && options.trimWhitespace === false) { - return inputs; - } - return inputs.map(input => input.trim()); -} -exports.getMultilineInput = getMultilineInput; -/** - * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. - * Support boolean input list: `true | True | TRUE | false | False | FALSE` . - * The return value is also in boolean type. - * ref: https://yaml.org/spec/1.2/spec.html#id2804923 - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns boolean - */ -function getBooleanInput(name, options) { - const trueValue = ['true', 'True', 'TRUE']; - const falseValue = ['false', 'False', 'FALSE']; - const val = getInput(name, options); - if (trueValue.includes(val)) - return true; - if (falseValue.includes(val)) - return false; - throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + - `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); -} -exports.getBooleanInput = getBooleanInput; -/** - * Sets the value of an output. - * - * @param name name of the output to set - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function setOutput(name, value) { - const filePath = process.env['GITHUB_OUTPUT'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value)); - } - process.stdout.write(os.EOL); - command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value)); -} -exports.setOutput = setOutput; -/** - * Enables or disables the echoing of commands into stdout for the rest of the step. - * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. - * - */ -function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); -} -exports.setCommandEcho = setCommandEcho; -//----------------------------------------------------------------------- -// Results -//----------------------------------------------------------------------- -/** - * Sets the action status to failed. - * When the action exits it will be with an exit code of 1 - * @param message add error issue message - */ -function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); -} -exports.setFailed = setFailed; -//----------------------------------------------------------------------- -// Logging Commands -//----------------------------------------------------------------------- -/** - * Gets whether Actions Step Debug is on or not - */ -function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; -} -exports.isDebug = isDebug; -/** - * Writes debug message to user log - * @param message debug message - */ -function debug(message) { - command_1.issueCommand('debug', {}, message); -} -exports.debug = debug; -/** - * Adds an error issue - * @param message error issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function error(message, properties = {}) { - command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); -} -exports.error = error; -/** - * Adds a warning issue - * @param message warning issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function warning(message, properties = {}) { - command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); -} -exports.warning = warning; -/** - * Adds a notice issue - * @param message notice issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function notice(message, properties = {}) { - command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); -} -exports.notice = notice; -/** - * Writes info to log with console.log. - * @param message info message - */ -function info(message) { - process.stdout.write(message + os.EOL); -} -exports.info = info; -/** - * Begin an output group. - * - * Output until the next `groupEnd` will be foldable in this group - * - * @param name The name of the output group - */ -function startGroup(name) { - command_1.issue('group', name); -} -exports.startGroup = startGroup; -/** - * End an output group. - */ -function endGroup() { - command_1.issue('endgroup'); -} -exports.endGroup = endGroup; -/** - * Wrap an asynchronous function call in a group. - * - * Returns the same type as the function itself. - * - * @param name The name of the group - * @param fn The function to wrap in the group - */ -function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } - finally { - endGroup(); - } - return result; - }); -} -exports.group = group; -//----------------------------------------------------------------------- -// Wrapper action state -//----------------------------------------------------------------------- -/** - * Saves state for current action, the state can only be retrieved by this action's post job execution. - * - * @param name name of the state to store - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function saveState(name, value) { - const filePath = process.env['GITHUB_STATE'] || ''; - if (filePath) { - return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value)); - } - command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value)); -} -exports.saveState = saveState; -/** - * Gets the value of an state set by this action's main execution. - * - * @param name name of the state to get - * @returns string - */ -function getState(name) { - return process.env[`STATE_${name}`] || ''; -} -exports.getState = getState; -function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { - return yield oidc_utils_1.OidcClient.getIDToken(aud); - }); -} -exports.getIDToken = getIDToken; -/** - * Summary exports - */ -var summary_1 = __nccwpck_require__(1327); -Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } })); -/** - * @deprecated use core.summary - */ -var summary_2 = __nccwpck_require__(1327); -Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } })); -/** - * Path exports - */ -var path_utils_1 = __nccwpck_require__(2981); -Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } })); -Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } })); -Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } })); -//# sourceMappingURL=core.js.map - -/***/ }), - -/***/ 717: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -// For internal use, subject to change. -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; -// We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ -const fs = __importStar(__nccwpck_require__(7147)); -const os = __importStar(__nccwpck_require__(2037)); -const uuid_1 = __nccwpck_require__(5840); -const utils_1 = __nccwpck_require__(5278); -function issueFileCommand(command, message) { - const filePath = process.env[`GITHUB_${command}`]; - if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command}`); - } - if (!fs.existsSync(filePath)) { - throw new Error(`Missing file at path: ${filePath}`); - } - fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { - encoding: 'utf8' - }); -} -exports.issueFileCommand = issueFileCommand; -function prepareKeyValueMessage(key, value) { - const delimiter = `ghadelimiter_${uuid_1.v4()}`; - const convertedValue = utils_1.toCommandValue(value); - // These should realistically never happen, but just in case someone finds a - // way to exploit uuid generation let's not allow keys or values that contain - // the delimiter. - if (key.includes(delimiter)) { - throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); - } - if (convertedValue.includes(delimiter)) { - throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); - } - return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; -} -exports.prepareKeyValueMessage = prepareKeyValueMessage; -//# sourceMappingURL=file-command.js.map - -/***/ }), - -/***/ 8041: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.OidcClient = void 0; -const http_client_1 = __nccwpck_require__(6255); -const auth_1 = __nccwpck_require__(5526); -const core_1 = __nccwpck_require__(2186); -class OidcClient { - static createHttpClient(allowRetry = true, maxRetry = 10) { - const requestOptions = { - allowRetries: allowRetry, - maxRetries: maxRetry - }; - return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); - } - static getRequestToken() { - const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; - if (!token) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); - } - return token; - } - static getIDTokenUrl() { - const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; - if (!runtimeUrl) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); - } - return runtimeUrl; - } - static getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const httpclient = OidcClient.createHttpClient(); - const res = yield httpclient - .getJson(id_token_url) - .catch(error => { - throw new Error(`Failed to get ID Token. \n - Error Code : ${error.statusCode}\n - Error Message: ${error.result.message}`); - }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; - if (!id_token) { - throw new Error('Response json body do not have ID Token field'); - } - return id_token; - }); - } - static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { - try { - // New ID Token is requested from action service - let id_token_url = OidcClient.getIDTokenUrl(); - if (audience) { - const encodedAudience = encodeURIComponent(audience); - id_token_url = `${id_token_url}&audience=${encodedAudience}`; - } - core_1.debug(`ID token url is ${id_token_url}`); - const id_token = yield OidcClient.getCall(id_token_url); - core_1.setSecret(id_token); - return id_token; - } - catch (error) { - throw new Error(`Error message: ${error.message}`); - } - }); - } -} -exports.OidcClient = OidcClient; -//# sourceMappingURL=oidc-utils.js.map - -/***/ }), - -/***/ 2981: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; -const path = __importStar(__nccwpck_require__(1017)); -/** - * toPosixPath converts the given path to the posix form. On Windows, \\ will be - * replaced with /. - * - * @param pth. Path to transform. - * @return string Posix path. - */ -function toPosixPath(pth) { - return pth.replace(/[\\]/g, '/'); -} -exports.toPosixPath = toPosixPath; -/** - * toWin32Path converts the given path to the win32 form. On Linux, / will be - * replaced with \\. - * - * @param pth. Path to transform. - * @return string Win32 path. - */ -function toWin32Path(pth) { - return pth.replace(/[/]/g, '\\'); -} -exports.toWin32Path = toWin32Path; -/** - * toPlatformPath converts the given path to a platform-specific path. It does - * this by replacing instances of / and \ with the platform-specific path - * separator. - * - * @param pth The path to platformize. - * @return string The platform-specific path. - */ -function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path.sep); -} -exports.toPlatformPath = toPlatformPath; -//# sourceMappingURL=path-utils.js.map - -/***/ }), - -/***/ 1327: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; -const os_1 = __nccwpck_require__(2037); -const fs_1 = __nccwpck_require__(7147); -const { access, appendFile, writeFile } = fs_1.promises; -exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; -exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; -class Summary { - constructor() { - this._buffer = ''; - } - /** - * Finds the summary file path from the environment, rejects if env var is not found or file does not exist - * Also checks r/w permissions. - * - * @returns step summary file path - */ - filePath() { - return __awaiter(this, void 0, void 0, function* () { - if (this._filePath) { - return this._filePath; - } - const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; - if (!pathFromEnv) { - throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); - } - try { - yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } - catch (_a) { - throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); - } - this._filePath = pathFromEnv; - return this._filePath; - }); - } - /** - * Wraps content in an HTML tag, adding any HTML attributes - * - * @param {string} tag HTML tag to wrap - * @param {string | null} content content within the tag - * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add - * - * @returns {string} content wrapped in HTML element - */ - wrap(tag, content, attrs = {}) { - const htmlAttrs = Object.entries(attrs) - .map(([key, value]) => ` ${key}="${value}"`) - .join(''); - if (!content) { - return `<${tag}${htmlAttrs}>`; - } - return `<${tag}${htmlAttrs}>${content}`; - } - /** - * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. - * - * @param {SummaryWriteOptions} [options] (optional) options for write operation - * - * @returns {Promise} summary instance - */ - write(options) { - return __awaiter(this, void 0, void 0, function* () { - const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - const filePath = yield this.filePath(); - const writeFunc = overwrite ? writeFile : appendFile; - yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); - return this.emptyBuffer(); - }); - } - /** - * Clears the summary buffer and wipes the summary file - * - * @returns {Summary} summary instance - */ - clear() { - return __awaiter(this, void 0, void 0, function* () { - return this.emptyBuffer().write({ overwrite: true }); - }); - } - /** - * Returns the current summary buffer as a string - * - * @returns {string} string of summary buffer - */ - stringify() { - return this._buffer; - } - /** - * If the summary buffer is empty - * - * @returns {boolen} true if the buffer is empty - */ - isEmptyBuffer() { - return this._buffer.length === 0; - } - /** - * Resets the summary buffer without writing to summary file - * - * @returns {Summary} summary instance - */ - emptyBuffer() { - this._buffer = ''; - return this; - } - /** - * Adds raw text to the summary buffer - * - * @param {string} text content to add - * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) - * - * @returns {Summary} summary instance - */ - addRaw(text, addEOL = false) { - this._buffer += text; - return addEOL ? this.addEOL() : this; - } - /** - * Adds the operating system-specific end-of-line marker to the buffer - * - * @returns {Summary} summary instance - */ - addEOL() { - return this.addRaw(os_1.EOL); - } - /** - * Adds an HTML codeblock to the summary buffer - * - * @param {string} code content to render within fenced code block - * @param {string} lang (optional) language to syntax highlight code - * - * @returns {Summary} summary instance - */ - addCodeBlock(code, lang) { - const attrs = Object.assign({}, (lang && { lang })); - const element = this.wrap('pre', this.wrap('code', code), attrs); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML list to the summary buffer - * - * @param {string[]} items list of items to render - * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) - * - * @returns {Summary} summary instance - */ - addList(items, ordered = false) { - const tag = ordered ? 'ol' : 'ul'; - const listItems = items.map(item => this.wrap('li', item)).join(''); - const element = this.wrap(tag, listItems); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML table to the summary buffer - * - * @param {SummaryTableCell[]} rows table rows - * - * @returns {Summary} summary instance - */ - addTable(rows) { - const tableBody = rows - .map(row => { - const cells = row - .map(cell => { - if (typeof cell === 'string') { - return this.wrap('td', cell); - } - const { header, data, colspan, rowspan } = cell; - const tag = header ? 'th' : 'td'; - const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); - return this.wrap(tag, data, attrs); - }) - .join(''); - return this.wrap('tr', cells); - }) - .join(''); - const element = this.wrap('table', tableBody); - return this.addRaw(element).addEOL(); - } - /** - * Adds a collapsable HTML details element to the summary buffer - * - * @param {string} label text for the closed state - * @param {string} content collapsable content - * - * @returns {Summary} summary instance - */ - addDetails(label, content) { - const element = this.wrap('details', this.wrap('summary', label) + content); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML image tag to the summary buffer - * - * @param {string} src path to the image you to embed - * @param {string} alt text description of the image - * @param {SummaryImageOptions} options (optional) addition image attributes - * - * @returns {Summary} summary instance - */ - addImage(src, alt, options) { - const { width, height } = options || {}; - const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); - const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML section heading element - * - * @param {string} text heading text - * @param {number | string} [level=1] (optional) the heading level, default: 1 - * - * @returns {Summary} summary instance - */ - addHeading(text, level) { - const tag = `h${level}`; - const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) - ? tag - : 'h1'; - const element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML thematic break (
) to the summary buffer - * - * @returns {Summary} summary instance - */ - addSeparator() { - const element = this.wrap('hr', null); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML line break (
) to the summary buffer - * - * @returns {Summary} summary instance - */ - addBreak() { - const element = this.wrap('br', null); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML blockquote to the summary buffer - * - * @param {string} text quote text - * @param {string} cite (optional) citation url - * - * @returns {Summary} summary instance - */ - addQuote(text, cite) { - const attrs = Object.assign({}, (cite && { cite })); - const element = this.wrap('blockquote', text, attrs); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML anchor tag to the summary buffer - * - * @param {string} text link text/content - * @param {string} href hyperlink - * - * @returns {Summary} summary instance - */ - addLink(text, href) { - const element = this.wrap('a', text, { href }); - return this.addRaw(element).addEOL(); - } -} -const _summary = new Summary(); -/** - * @deprecated use `core.summary` - */ -exports.markdownSummary = _summary; -exports.summary = _summary; -//# sourceMappingURL=summary.js.map - -/***/ }), - -/***/ 5278: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -// We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toCommandProperties = exports.toCommandValue = void 0; -/** - * Sanitizes an input into a string so it can be passed into issueCommand safely - * @param input input to sanitize into a string - */ -function toCommandValue(input) { - if (input === null || input === undefined) { - return ''; - } - else if (typeof input === 'string' || input instanceof String) { - return input; - } - return JSON.stringify(input); -} -exports.toCommandValue = toCommandValue; -/** - * - * @param annotationProperties - * @returns The command properties to send with the actual annotation command - * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 - */ -function toCommandProperties(annotationProperties) { - if (!Object.keys(annotationProperties).length) { - return {}; - } - return { - title: annotationProperties.title, - file: annotationProperties.file, - line: annotationProperties.startLine, - endLine: annotationProperties.endLine, - col: annotationProperties.startColumn, - endColumn: annotationProperties.endColumn - }; -} -exports.toCommandProperties = toCommandProperties; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 4087: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Context = void 0; -const fs_1 = __nccwpck_require__(7147); -const os_1 = __nccwpck_require__(2037); -class Context { - /** - * Hydrate the context from the environment - */ - constructor() { - var _a, _b, _c; - this.payload = {}; - if (process.env.GITHUB_EVENT_PATH) { - if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); - } - else { - const path = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); - } - } - this.eventName = process.env.GITHUB_EVENT_NAME; - this.sha = process.env.GITHUB_SHA; - this.ref = process.env.GITHUB_REF; - this.workflow = process.env.GITHUB_WORKFLOW; - this.action = process.env.GITHUB_ACTION; - this.actor = process.env.GITHUB_ACTOR; - this.job = process.env.GITHUB_JOB; - this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); - this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; - this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; - this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; - } - get issue() { - const payload = this.payload; - return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); - } - get repo() { - if (process.env.GITHUB_REPOSITORY) { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); - return { owner, repo }; - } - if (this.payload.repository) { - return { - owner: this.payload.repository.owner.login, - repo: this.payload.repository.name - }; - } - throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); - } -} -exports.Context = Context; -//# sourceMappingURL=context.js.map - -/***/ }), - -/***/ 5438: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getOctokit = exports.context = void 0; -const Context = __importStar(__nccwpck_require__(4087)); -const utils_1 = __nccwpck_require__(3030); -exports.context = new Context.Context(); -/** - * Returns a hydrated octokit ready to use for GitHub Actions - * - * @param token the repo PAT or GITHUB_TOKEN - * @param options other options to set - */ -function getOctokit(token, options, ...additionalPlugins) { - const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); - return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options)); -} -exports.getOctokit = getOctokit; -//# sourceMappingURL=github.js.map - -/***/ }), - -/***/ 7914: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0; -const httpClient = __importStar(__nccwpck_require__(6255)); -function getAuthString(token, options) { - if (!token && !options.auth) { - throw new Error('Parameter token or opts.auth is required'); - } - else if (token && options.auth) { - throw new Error('Parameters token and opts.auth may not both be specified'); - } - return typeof options.auth === 'string' ? options.auth : `token ${token}`; -} -exports.getAuthString = getAuthString; -function getProxyAgent(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgent(destinationUrl); -} -exports.getProxyAgent = getProxyAgent; -function getApiBaseUrl() { - return process.env['GITHUB_API_URL'] || 'https://api.github.com'; -} -exports.getApiBaseUrl = getApiBaseUrl; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 3030: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; -const Context = __importStar(__nccwpck_require__(4087)); -const Utils = __importStar(__nccwpck_require__(7914)); -// octokit + plugins -const core_1 = __nccwpck_require__(6762); -const plugin_rest_endpoint_methods_1 = __nccwpck_require__(3044); -const plugin_paginate_rest_1 = __nccwpck_require__(4193); -exports.context = new Context.Context(); -const baseUrl = Utils.getApiBaseUrl(); -exports.defaults = { - baseUrl, - request: { - agent: Utils.getProxyAgent(baseUrl) - } -}; -exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); -/** - * Convience function to correctly format Octokit Options to pass into the constructor. - * - * @param token the repo PAT or GITHUB_TOKEN - * @param options other options to set - */ -function getOctokitOptions(token, options) { - const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller - // Auth - const auth = Utils.getAuthString(token, opts); - if (auth) { - opts.auth = auth; - } - return opts; -} -exports.getOctokitOptions = getOctokitOptions; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 5526: -/***/ (function(__unused_webpack_module, exports) { - -"use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; -class BasicCredentialHandler { - constructor(username, password) { - this.username = username; - this.password = password; - } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } -} -exports.BasicCredentialHandler = BasicCredentialHandler; -class BearerCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Bearer ${this.token}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } -} -exports.BearerCredentialHandler = BearerCredentialHandler; -class PersonalAccessTokenCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } -} -exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; -//# sourceMappingURL=auth.js.map - -/***/ }), - -/***/ 6255: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -"use strict"; - -/* eslint-disable @typescript-eslint/no-explicit-any */ -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; -const http = __importStar(__nccwpck_require__(3685)); -const https = __importStar(__nccwpck_require__(5687)); -const pm = __importStar(__nccwpck_require__(9835)); -const tunnel = __importStar(__nccwpck_require__(4294)); -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers = exports.Headers || (exports.Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); -/** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ -function getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; -} -exports.getProxyUrl = getProxyUrl; -const HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect -]; -const HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout -]; -const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -const ExponentialBackoffCeiling = 10; -const ExponentialBackoffTimeSlice = 5; -class HttpClientError extends Error { - constructor(message, statusCode) { - super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); - } -} -exports.HttpClientError = HttpClientError; -class HttpClientResponse { - constructor(message) { - this.message = message; - } - readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on('data', (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - })); - }); - } -} -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -class HttpClient { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - }); - } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - }); - } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - }); - } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - }); - } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - }); - } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - }); - } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - }); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); - } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - // Only perform retries on reads since writes may not be idempotent. - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) - ? this._maxRetries + 1 - : 1; - let numTries = 0; - let response; - do { - response = yield this.requestRaw(info, data); - // Check if it's an authentication challenge - if (response && - response.message && - response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (const handler of this.handlers) { - if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } - else { - // We have received an unauthorized response but have no handlers to handle it. - // Let the response return to the caller. - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && - HttpRedirectCodes.includes(response.message.statusCode) && - this._allowRedirects && - redirectsRemaining > 0) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - // if there's no location to redirect to, we won't - break; - } - const parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol === 'https:' && - parsedUrl.protocol !== parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade) { - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - } - // we need to finish reading the response before reassigning response - // which will leak the open socket. - yield response.readBody(); - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (const header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = yield this.requestRaw(info, data); - redirectsRemaining--; - } - if (!response.message.statusCode || - !HttpResponseRetryCodes.includes(response.message.statusCode)) { - // If not a retry code, return immediately instead of retrying - return response; - } - numTries += 1; - if (numTries < maxTries) { - yield response.readBody(); - yield this._performExponentialBackoff(numTries); - } - } while (numTries < maxTries); - return response; - }); - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - function callbackForResult(err, res) { - if (err) { - reject(err); - } - else if (!res) { - // If `err` is not passed, then `res` must be passed. - reject(new Error('Unknown error')); - } - else { - resolve(res); - } - } - this.requestRawWithCallback(info, data, callbackForResult); - }); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - if (typeof data === 'string') { - if (!info.options.headers) { - info.options.headers = {}; - } - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); - } - let callbackCalled = false; - function handleResult(err, res) { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } - } - const req = info.httpModule.request(info.options, (msg) => { - const res = new HttpClientResponse(msg); - handleResult(undefined, res); - }); - let socket; - req.on('socket', sock => { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, () => { - if (socket) { - socket.end(); - } - handleResult(new Error(`Request timeout: ${info.options.path}`)); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } - else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port - ? parseInt(info.parsedUrl.port) - : defaultPort; - info.options.path = - (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); - } - } - return info; - } - _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. - if (proxyUrl && proxyUrl.hostname) { - const agentOptions = { - maxSockets, - keepAlive: this._keepAlive, - proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - })), { host: proxyUrl.hostname, port: proxyUrl.port }) - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } - else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if reusing agent across request and tunneling agent isn't assigned create a new agent - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - // if not using private agent and tunnel agent isn't setup then use global agent - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; - } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; - } - _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - }); - } - _processResponse(res, options) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - const statusCode = res.message.statusCode || 0; - const response = { - statusCode, - result: null, - headers: {} - }; - // not found leads to null obj returned - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - // get the result from the body - function dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - const a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - let obj; - let contents; - try { - contents = yield res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); - } - else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } - catch (err) { - // Invalid resource (contents not json); leaving result obj null - } - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - let msg; - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } - else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } - else { - msg = `Failed request: (${statusCode})`; - } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } - else { - resolve(response); - } - })); - }); - } -} -exports.HttpClient = HttpClient; -const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 9835: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.checkBypass = exports.getProxyUrl = void 0; -function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === 'https:'; - if (checkBypass(reqUrl)) { - return undefined; - } - const proxyVar = (() => { - if (usingSsl) { - return process.env['https_proxy'] || process.env['HTTPS_PROXY']; - } - else { - return process.env['http_proxy'] || process.env['HTTP_PROXY']; - } - })(); - if (proxyVar) { - return new URL(proxyVar); - } - else { - return undefined; - } -} -exports.getProxyUrl = getProxyUrl; -function checkBypass(reqUrl) { - if (!reqUrl.hostname) { - return false; - } - const reqHost = reqUrl.hostname; - if (isLoopbackAddress(reqHost)) { - return true; - } - const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; - if (!noProxy) { - return false; - } - // Determine the request port - let reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } - else if (reqUrl.protocol === 'http:') { - reqPort = 80; - } - else if (reqUrl.protocol === 'https:') { - reqPort = 443; - } - // Format the request hostname and hostname with port - const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); - } - // Compare request host against noproxy - for (const upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperNoProxyItem === '*' || - upperReqHosts.some(x => x === upperNoProxyItem || - x.endsWith(`.${upperNoProxyItem}`) || - (upperNoProxyItem.startsWith('.') && - x.endsWith(`${upperNoProxyItem}`)))) { - return true; - } - } - return false; -} -exports.checkBypass = checkBypass; -function isLoopbackAddress(host) { - const hostLower = host.toLowerCase(); - return (hostLower === 'localhost' || - hostLower.startsWith('127.') || - hostLower.startsWith('[::1]') || - hostLower.startsWith('[0:0:0:0:0:0:0:1]')); -} -//# sourceMappingURL=proxy.js.map - -/***/ }), - -/***/ 334: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; - return { - type: "token", - token: token, - tokenType - }; -} - -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ -function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - - return `token ${token}`; -} - -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} - -const createTokenAuth = function createTokenAuth(token) { - if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); - } - - if (typeof token !== "string") { - throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); - } - - token = token.replace(/^(token|bearer) +/i, ""); - return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) - }); -}; - -exports.createTokenAuth = createTokenAuth; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 6762: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var universalUserAgent = __nccwpck_require__(5030); -var beforeAfterHook = __nccwpck_require__(3682); -var request = __nccwpck_require__(6234); -var graphql = __nccwpck_require__(8467); -var authToken = __nccwpck_require__(334); - -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - - return target; -} - -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - - var target = _objectWithoutPropertiesLoose(source, excluded); - - var key, i; - - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - - return target; -} - -const VERSION = "3.6.0"; - -const _excluded = ["authStrategy"]; -class Octokit { - constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); - const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request") - }), - mediaType: { - previews: [], - format: "" - } - }; // prepend default user agent with `options.userAgent` if set - - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); - - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; - } - - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; - } - - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; - } - - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, options.log); - this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - - if (!options.authStrategy) { - if (!options.auth) { - // (1) - this.auth = async () => ({ - type: "unauthenticated" - }); - } else { - // (2) - const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ - - hook.wrap("request", auth.hook); - this.auth = auth; - } - } else { - const { - authStrategy - } = options, - otherOptions = _objectWithoutProperties(options, _excluded); - - const auth = authStrategy(Object.assign({ - request: this.request, - log: this.log, - // we pass the current octokit instance as well as its constructor options - // to allow for authentication strategies that return a new octokit instance - // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ - - hook.wrap("request", auth.hook); - this.auth = auth; - } // apply plugins - // https://stackoverflow.com/a/16345172 - - - const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); - } - - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - const options = args[0] || {}; - - if (typeof defaults === "function") { - super(defaults(options)); - return; - } - - super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null)); - } - - }; - return OctokitWithDefaults; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - - - static plugin(...newPlugins) { - var _a; - - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); - return NewOctokit; - } - -} -Octokit.VERSION = VERSION; -Octokit.plugins = []; - -exports.Octokit = Octokit; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 9440: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var isPlainObject = __nccwpck_require__(3287); -var universalUserAgent = __nccwpck_require__(5030); - -function lowercaseKeys(object) { - if (!object) { - return {}; - } - - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} - -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { - [key]: options[key] - });else result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { - [key]: options[key] - }); - } - }); - return result; -} - -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === undefined) { - delete obj[key]; - } - } - - return obj; -} - -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { - method, - url - } : { - url: method - }, options); - } else { - options = Object.assign({}, route); - } // lowercase header names before merging with defaults to avoid duplicates - - - options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging - - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten - - if (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); - } - - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); - return mergedOptions; -} - -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - - if (names.length === 0) { - return url; - } - - return url + separator + names.map(name => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -const urlVariableRegex = /\{[^}]+\}/g; - -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} - -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - - if (!matches) { - return []; - } - - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -function omit(object, keysToOmit) { - return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} - -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/* istanbul ignore file */ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - - return part; - }).join(""); -} - -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} - -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} - -function isDefined(value) { - return value !== undefined && value !== null; -} - -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} - -function getValues(context, operator, key, modifier) { - var value = context[key], - result = []; - - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - - return result; -} - -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} - -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; - - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - - if (operator && operator !== "+") { - var separator = ","; - - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; - } - - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); - } - } else { - return encodeReserved(literal); - } - }); -} - -function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible - - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later - - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); - - if (!/^http/.test(url)) { - url = options.baseUrl + url; - } - - const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); - - if (!isBinaryRequest) { - if (options.mediaType.format) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); - } - - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); - } - } // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters - - - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } else { - headers["content-length"] = 0; - } - } - } // default content-type for JSON if body is set - - - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string - - - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } // Only return body/request keys if present - - - return Object.assign({ - method, - url, - headers - }, typeof body !== "undefined" ? { - body - } : null, options.request ? { - request: options.request - } : null); -} - -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} - -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); -} - -const VERSION = "6.0.12"; - -const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. - -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "", - previews: [] - } -}; - -const endpoint = withDefaults(null, DEFAULTS); - -exports.endpoint = endpoint; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 8467: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var request = __nccwpck_require__(6234); -var universalUserAgent = __nccwpck_require__(5030); - -const VERSION = "4.8.0"; - -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); -} - -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. - - this.errors = response.errors; - this.data = response.data; // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } - -} - -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); - } - - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; - return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); - } - } - - const parsedOptions = typeof query === "string" ? Object.assign({ - query - }, options) : query; - const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; - } - - if (!result.variables) { - result.variables = {}; - } - - result.variables[key] = parsedOptions[key]; - return result; - }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix - // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 - - const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; - - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - - return request(requestOptions).then(response => { - if (response.data.errors) { - const headers = {}; - - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; - } - - throw new GraphqlResponseError(requestOptions, headers, response.data); - } - - return response.data.data; - }); -} - -function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); - - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: request.request.endpoint - }); -} - -const graphql$1 = withDefaults(request.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` - }, - method: "POST", - url: "/graphql" -}); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} - -exports.GraphqlResponseError = GraphqlResponseError; -exports.graphql = graphql$1; -exports.withCustomRequest = withCustomRequest; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 4193: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -const VERSION = "2.21.3"; - -function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - enumerableOnly && (symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - })), keys.push.apply(keys, symbols); - } - - return keys; -} - -function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = null != arguments[i] ? arguments[i] : {}; - i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { - _defineProperty(target, key, source[key]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - - return target; -} - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} - -/** - * Some “list” response that can be paginated have a different response structure - * - * They have a `total_count` key in the response (search also has `incomplete_results`, - * /installation/repositories also has `repository_selection`), as well as a key with - * the list of the items which name varies from endpoint to endpoint. - * - * Octokit normalizes these responses so that paginated results are always returned following - * the same structure. One challenge is that if the list response has only one page, no Link - * header is provided, so this header alone is not sufficient to check wether a response is - * paginated or not. - * - * We check if a "total_count" key is present in the response data, but also make sure that - * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would - * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref - */ -function normalizePaginatedListResponse(response) { - // endpoints can respond with 204 if repository is empty - if (!response.data) { - return _objectSpread2(_objectSpread2({}, response), {}, { - data: [] - }); - } - - const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); - if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way - // to retrieve the same information. - - const incompleteResults = response.data.incomplete_results; - const repositorySelection = response.data.repository_selection; - const totalCount = response.data.total_count; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - const namespaceKey = Object.keys(response.data)[0]; - const data = response.data[namespaceKey]; - response.data = data; - - if (typeof incompleteResults !== "undefined") { - response.data.incomplete_results = incompleteResults; - } - - if (typeof repositorySelection !== "undefined") { - response.data.repository_selection = repositorySelection; - } - - response.data.total_count = totalCount; - return response; -} - -function iterator(octokit, route, parameters) { - const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); - const requestMethod = typeof route === "function" ? route : octokit.request; - const method = options.method; - const headers = options.headers; - let url = options.url; - return { - [Symbol.asyncIterator]: () => ({ - async next() { - if (!url) return { - done: true - }; - - try { - const response = await requestMethod({ - method, - url, - headers - }); - const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: - // '; rel="next", ; rel="last"' - // sets `url` to undefined if "next" URL is not present or `link` header is not set - - url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { - value: normalizedResponse - }; - } catch (error) { - if (error.status !== 409) throw error; - url = ""; - return { - value: { - status: 200, - headers: {}, - data: [] - } - }; - } - } - - }) - }; -} - -function paginate(octokit, route, parameters, mapFn) { - if (typeof parameters === "function") { - mapFn = parameters; - parameters = undefined; - } - - return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); -} - -function gather(octokit, results, iterator, mapFn) { - return iterator.next().then(result => { - if (result.done) { - return results; - } - - let earlyExit = false; - - function done() { - earlyExit = true; - } - - results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); - - if (earlyExit) { - return results; - } - - return gather(octokit, results, iterator, mapFn); - }); -} - -const composePaginateRest = Object.assign(paginate, { - iterator -}); - -const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/audit-log", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /enterprises/{enterprise}/settings/billing/advanced-security", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/audit-log", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/settings/billing/advanced-security", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; - -function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); - } else { - return false; - } -} - -/** - * @param octokit Octokit instance - * @param options Options passed to Octokit constructor - */ - -function paginateRest(octokit) { - return { - paginate: Object.assign(paginate.bind(null, octokit), { - iterator: iterator.bind(null, octokit) - }) - }; -} -paginateRest.VERSION = VERSION; - -exports.composePaginateRest = composePaginateRest; -exports.isPaginatingEndpoint = isPaginatingEndpoint; -exports.paginateRest = paginateRest; -exports.paginatingEndpoints = paginatingEndpoints; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 3044: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - - if (enumerableOnly) { - symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); - } - - keys.push.apply(keys, symbols); - } - - return keys; -} - -function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - - if (i % 2) { - ownKeys(Object(source), true).forEach(function (key) { - _defineProperty(target, key, source[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); - } else { - ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - } - - return target; -} - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} - -const Endpoints = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], - addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], - approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], - cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], - createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], - createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], - createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], - createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], - createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], - createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], - deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], - deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], - deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], - deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], - deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], - deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], - deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], - deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], - disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], - disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], - downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], - downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], - downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], - downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], - enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], - enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], - getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], - getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], - getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], - getActionsCacheUsageForEnterprise: ["GET /enterprises/{enterprise}/actions/cache/usage"], - getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], - getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], - getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], - getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], - getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], - getGithubActionsDefaultWorkflowPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/workflow"], - getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], - getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], - getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], - getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], - getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], - getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], - getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], - getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { - renamed: ["actions", "getGithubActionsPermissionsRepository"] - }], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], - getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], - getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], - getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], - getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], - getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], - getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], - getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], - getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], - listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], - listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], - listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], - listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], - listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], - listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], - listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], - listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], - listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], - listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], - listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], - listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], - listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], - listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], - listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], - listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], - reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], - reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], - reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], - removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], - removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], - removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], - removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], - reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], - setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], - setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], - setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], - setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - setGithubActionsDefaultWorkflowPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/workflow"], - setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], - setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], - setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], - setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], - setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], - setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], - setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"] - }, - activity: { - checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], - deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], - deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], - getFeeds: ["GET /feeds"], - getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], - getThread: ["GET /notifications/threads/{thread_id}"], - getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], - listEventsForAuthenticatedUser: ["GET /users/{username}/events"], - listNotificationsForAuthenticatedUser: ["GET /notifications"], - listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], - listPublicEvents: ["GET /events"], - listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], - listPublicEventsForUser: ["GET /users/{username}/events/public"], - listPublicOrgEvents: ["GET /orgs/{org}/events"], - listReceivedEventsForUser: ["GET /users/{username}/received_events"], - listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], - listRepoEvents: ["GET /repos/{owner}/{repo}/events"], - listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], - listReposStarredByAuthenticatedUser: ["GET /user/starred"], - listReposStarredByUser: ["GET /users/{username}/starred"], - listReposWatchedByUser: ["GET /users/{username}/subscriptions"], - listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], - listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], - listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], - markNotificationsAsRead: ["PUT /notifications"], - markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], - markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], - setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], - setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], - starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], - unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] - }, - apps: { - addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, { - renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] - }], - addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], - checkToken: ["POST /applications/{client_id}/token"], - createFromManifest: ["POST /app-manifests/{code}/conversions"], - createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], - deleteAuthorization: ["DELETE /applications/{client_id}/grant"], - deleteInstallation: ["DELETE /app/installations/{installation_id}"], - deleteToken: ["DELETE /applications/{client_id}/token"], - getAuthenticated: ["GET /app"], - getBySlug: ["GET /apps/{app_slug}"], - getInstallation: ["GET /app/installations/{installation_id}"], - getOrgInstallation: ["GET /orgs/{org}/installation"], - getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], - getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], - getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], - getUserInstallation: ["GET /users/{username}/installation"], - getWebhookConfigForApp: ["GET /app/hook/config"], - getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], - listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], - listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], - listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], - listInstallations: ["GET /app/installations"], - listInstallationsForAuthenticatedUser: ["GET /user/installations"], - listPlans: ["GET /marketplace_listing/plans"], - listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], - listReposAccessibleToInstallation: ["GET /installation/repositories"], - listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], - listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], - listWebhookDeliveries: ["GET /app/hook/deliveries"], - redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], - removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, { - renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] - }], - removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], - resetToken: ["PATCH /applications/{client_id}/token"], - revokeInstallationAccessToken: ["DELETE /installation/token"], - scopeToken: ["POST /applications/{client_id}/token/scoped"], - suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], - unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], - updateWebhookConfigForApp: ["PATCH /app/hook/config"] - }, - billing: { - getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], - getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], - getGithubAdvancedSecurityBillingGhe: ["GET /enterprises/{enterprise}/settings/billing/advanced-security"], - getGithubAdvancedSecurityBillingOrg: ["GET /orgs/{org}/settings/billing/advanced-security"], - getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], - getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], - getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], - getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] - }, - checks: { - create: ["POST /repos/{owner}/{repo}/check-runs"], - createSuite: ["POST /repos/{owner}/{repo}/check-suites"], - get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], - getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], - listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], - listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], - listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], - listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], - rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], - rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], - setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], - update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] - }, - codeScanning: { - deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], - getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { - renamedParameters: { - alert_id: "alert_number" - } - }], - getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], - getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], - listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], - listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], - listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { - renamed: ["codeScanning", "listAlertInstances"] - }], - listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], - updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], - uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] - }, - codesOfConduct: { - getAllCodesOfConduct: ["GET /codes_of_conduct"], - getConductCode: ["GET /codes_of_conduct/{key}"] - }, - codespaces: { - addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], - codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], - createForAuthenticatedUser: ["POST /user/codespaces"], - createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], - createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], - createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], - createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], - deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], - deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], - deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], - deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], - exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], - getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], - getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], - getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], - getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], - listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], - listForAuthenticatedUser: ["GET /user/codespaces"], - listInOrganization: ["GET /orgs/{org}/codespaces", {}, { - renamedParameters: { - org_id: "org" - } - }], - listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], - listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], - listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], - removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], - repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], - setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], - startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], - stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], - stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], - updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] - }, - dependabot: { - addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], - createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], - deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], - deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], - getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], - listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], - listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], - removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], - setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"] - }, - dependencyGraph: { - createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], - diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"] - }, - emojis: { - get: ["GET /emojis"] - }, - enterpriseAdmin: { - addCustomLabelsToSelfHostedRunnerForEnterprise: ["POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], - enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], - getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], - getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], - getServerStatistics: ["GET /enterprise-installation/{enterprise_or_org}/server-statistics"], - listLabelsForSelfHostedRunnerForEnterprise: ["GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], - removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - removeCustomLabelFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}"], - setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], - setCustomLabelsForSelfHostedRunnerForEnterprise: ["PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], - setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] - }, - gists: { - checkIsStarred: ["GET /gists/{gist_id}/star"], - create: ["POST /gists"], - createComment: ["POST /gists/{gist_id}/comments"], - delete: ["DELETE /gists/{gist_id}"], - deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], - fork: ["POST /gists/{gist_id}/forks"], - get: ["GET /gists/{gist_id}"], - getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], - getRevision: ["GET /gists/{gist_id}/{sha}"], - list: ["GET /gists"], - listComments: ["GET /gists/{gist_id}/comments"], - listCommits: ["GET /gists/{gist_id}/commits"], - listForUser: ["GET /users/{username}/gists"], - listForks: ["GET /gists/{gist_id}/forks"], - listPublic: ["GET /gists/public"], - listStarred: ["GET /gists/starred"], - star: ["PUT /gists/{gist_id}/star"], - unstar: ["DELETE /gists/{gist_id}/star"], - update: ["PATCH /gists/{gist_id}"], - updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] - }, - git: { - createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], - createCommit: ["POST /repos/{owner}/{repo}/git/commits"], - createRef: ["POST /repos/{owner}/{repo}/git/refs"], - createTag: ["POST /repos/{owner}/{repo}/git/tags"], - createTree: ["POST /repos/{owner}/{repo}/git/trees"], - deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], - getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], - getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], - getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], - getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], - getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], - listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], - updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] - }, - gitignore: { - getAllTemplates: ["GET /gitignore/templates"], - getTemplate: ["GET /gitignore/templates/{name}"] - }, - interactions: { - getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], - getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], - getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], - getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { - renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] - }], - removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], - removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], - removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], - removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { - renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] - }], - setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], - setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], - setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], - setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { - renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] - }] - }, - issues: { - addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], - create: ["POST /repos/{owner}/{repo}/issues"], - createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], - createLabel: ["POST /repos/{owner}/{repo}/labels"], - createMilestone: ["POST /repos/{owner}/{repo}/milestones"], - deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], - deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], - deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], - get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], - getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], - getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], - getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], - getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], - list: ["GET /issues"], - listAssignees: ["GET /repos/{owner}/{repo}/assignees"], - listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], - listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], - listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], - listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], - listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], - listForAuthenticatedUser: ["GET /user/issues"], - listForOrg: ["GET /orgs/{org}/issues"], - listForRepo: ["GET /repos/{owner}/{repo}/issues"], - listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], - listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], - listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], - listMilestones: ["GET /repos/{owner}/{repo}/milestones"], - lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], - removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], - removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], - removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], - setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], - unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], - update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], - updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], - updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], - updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] - }, - licenses: { - get: ["GET /licenses/{license}"], - getAllCommonlyUsed: ["GET /licenses"], - getForRepo: ["GET /repos/{owner}/{repo}/license"] - }, - markdown: { - render: ["POST /markdown"], - renderRaw: ["POST /markdown/raw", { - headers: { - "content-type": "text/plain; charset=utf-8" - } - }] - }, - meta: { - get: ["GET /meta"], - getOctocat: ["GET /octocat"], - getZen: ["GET /zen"], - root: ["GET /"] - }, - migrations: { - cancelImport: ["DELETE /repos/{owner}/{repo}/import"], - deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], - deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], - downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], - getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], - getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], - getImportStatus: ["GET /repos/{owner}/{repo}/import"], - getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], - getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], - getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], - listForAuthenticatedUser: ["GET /user/migrations"], - listForOrg: ["GET /orgs/{org}/migrations"], - listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], - listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], - listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { - renamed: ["migrations", "listReposForAuthenticatedUser"] - }], - mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], - setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: ["PUT /repos/{owner}/{repo}/import"], - unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], - unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], - updateImport: ["PATCH /repos/{owner}/{repo}/import"] - }, - orgs: { - blockUser: ["PUT /orgs/{org}/blocks/{username}"], - cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], - checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], - checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], - checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], - convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], - createInvitation: ["POST /orgs/{org}/invitations"], - createWebhook: ["POST /orgs/{org}/hooks"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - get: ["GET /orgs/{org}"], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], - getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], - getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], - list: ["GET /organizations"], - listAppInstallations: ["GET /orgs/{org}/installations"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listCustomRoles: ["GET /organizations/{organization_id}/custom_roles"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], - listPendingInvitations: ["GET /orgs/{org}/invitations"], - listPublicMembers: ["GET /orgs/{org}/public_members"], - listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], - listWebhooks: ["GET /orgs/{org}/hooks"], - pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], - redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], - removeMember: ["DELETE /orgs/{org}/members/{username}"], - removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], - removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], - removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], - updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], - updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] - }, - packages: { - deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], - deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], - deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], - deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], - deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { - renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] - }], - getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { - renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] - }], - getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], - getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], - getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], - getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], - getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], - getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], - getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], - getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - listPackagesForAuthenticatedUser: ["GET /user/packages"], - listPackagesForOrganization: ["GET /orgs/{org}/packages"], - listPackagesForUser: ["GET /users/{username}/packages"], - restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], - restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], - restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], - restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], - restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], - restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], - getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], - removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_id}"] - }, - pulls: { - checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - create: ["POST /repos/{owner}/{repo}/pulls"], - createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], - createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], - deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], - get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], - getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - list: ["GET /repos/{owner}/{repo}/pulls"], - listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], - listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], - listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], - listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], - listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], - listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], - update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], - updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], - updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] - }, - rateLimit: { - get: ["GET /rate_limit"] - }, - reactions: { - createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], - createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], - createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], - createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], - createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], - createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], - createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], - deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], - deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], - deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], - deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], - deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], - deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], - deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], - listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], - listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], - listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], - listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], - listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], - listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], - listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"] - }, - repos: { - acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { - renamed: ["repos", "acceptInvitationForAuthenticatedUser"] - }], - acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], - addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], - addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], - codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], - compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], - compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], - createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], - createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], - createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], - createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], - createDeployKey: ["POST /repos/{owner}/{repo}/keys"], - createDeployment: ["POST /repos/{owner}/{repo}/deployments"], - createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], - createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], - createForAuthenticatedUser: ["POST /user/repos"], - createFork: ["POST /repos/{owner}/{repo}/forks"], - createInOrg: ["POST /orgs/{org}/repos"], - createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], - createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], - createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], - createWebhook: ["POST /repos/{owner}/{repo}/hooks"], - declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { - renamed: ["repos", "declineInvitationForAuthenticatedUser"] - }], - declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], - delete: ["DELETE /repos/{owner}/{repo}"], - deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], - deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], - deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], - deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], - deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], - deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], - deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], - deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], - deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], - deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], - deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], - deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], - deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], - deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], - deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], - disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], - disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], - disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], - downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { - renamed: ["repos", "downloadZipballArchive"] - }], - downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], - downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], - enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], - enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], - enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], - generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], - get: ["GET /repos/{owner}/{repo}"], - getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], - getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], - getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], - getAllTopics: ["GET /repos/{owner}/{repo}/topics"], - getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], - getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], - getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], - getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], - getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], - getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], - getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], - getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], - getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], - getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], - getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], - getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], - getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], - getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], - getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], - getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], - getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], - getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], - getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], - getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], - getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], - getPages: ["GET /repos/{owner}/{repo}/pages"], - getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], - getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], - getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], - getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], - getReadme: ["GET /repos/{owner}/{repo}/readme"], - getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], - getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], - getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], - getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], - getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], - getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], - getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], - getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], - getViews: ["GET /repos/{owner}/{repo}/traffic/views"], - getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], - getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], - getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], - listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], - listBranches: ["GET /repos/{owner}/{repo}/branches"], - listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], - listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], - listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], - listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], - listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], - listCommits: ["GET /repos/{owner}/{repo}/commits"], - listContributors: ["GET /repos/{owner}/{repo}/contributors"], - listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], - listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], - listDeployments: ["GET /repos/{owner}/{repo}/deployments"], - listForAuthenticatedUser: ["GET /user/repos"], - listForOrg: ["GET /orgs/{org}/repos"], - listForUser: ["GET /users/{username}/repos"], - listForks: ["GET /repos/{owner}/{repo}/forks"], - listInvitations: ["GET /repos/{owner}/{repo}/invitations"], - listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], - listLanguages: ["GET /repos/{owner}/{repo}/languages"], - listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], - listPublic: ["GET /repositories"], - listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], - listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], - listReleases: ["GET /repos/{owner}/{repo}/releases"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - listTags: ["GET /repos/{owner}/{repo}/tags"], - listTeams: ["GET /repos/{owner}/{repo}/teams"], - listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], - listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], - merge: ["POST /repos/{owner}/{repo}/merges"], - mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], - pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], - redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], - removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], - removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], - replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], - requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], - setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], - transfer: ["POST /repos/{owner}/{repo}/transfer"], - update: ["PATCH /repos/{owner}/{repo}"], - updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], - updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], - updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], - updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], - updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], - updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], - updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { - renamed: ["repos", "updateStatusCheckProtection"] - }], - updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], - updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], - uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { - baseUrl: "https://uploads.github.com" - }] - }, - search: { - code: ["GET /search/code"], - commits: ["GET /search/commits"], - issuesAndPullRequests: ["GET /search/issues"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - secretScanning: { - getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], - listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], - listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], - listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], - updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] - }, - teams: { - addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], - addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - create: ["POST /orgs/{org}/teams"], - createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], - createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], - deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], - getByName: ["GET /orgs/{org}/teams/{team_slug}"], - getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], - list: ["GET /orgs/{org}/teams"], - listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], - listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], - listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], - listForAuthenticatedUser: ["GET /user/teams"], - listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], - listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], - removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] - }, - users: { - addEmailForAuthenticated: ["POST /user/emails", {}, { - renamed: ["users", "addEmailForAuthenticatedUser"] - }], - addEmailForAuthenticatedUser: ["POST /user/emails"], - block: ["PUT /user/blocks/{username}"], - checkBlocked: ["GET /user/blocks/{username}"], - checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], - checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], - createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { - renamed: ["users", "createGpgKeyForAuthenticatedUser"] - }], - createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], - createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { - renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] - }], - createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], - deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { - renamed: ["users", "deleteEmailForAuthenticatedUser"] - }], - deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], - deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { - renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] - }], - deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], - deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { - renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] - }], - deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], - follow: ["PUT /user/following/{username}"], - getAuthenticated: ["GET /user"], - getByUsername: ["GET /users/{username}"], - getContextForUser: ["GET /users/{username}/hovercard"], - getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { - renamed: ["users", "getGpgKeyForAuthenticatedUser"] - }], - getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], - getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { - renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] - }], - getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], - list: ["GET /users"], - listBlockedByAuthenticated: ["GET /user/blocks", {}, { - renamed: ["users", "listBlockedByAuthenticatedUser"] - }], - listBlockedByAuthenticatedUser: ["GET /user/blocks"], - listEmailsForAuthenticated: ["GET /user/emails", {}, { - renamed: ["users", "listEmailsForAuthenticatedUser"] - }], - listEmailsForAuthenticatedUser: ["GET /user/emails"], - listFollowedByAuthenticated: ["GET /user/following", {}, { - renamed: ["users", "listFollowedByAuthenticatedUser"] - }], - listFollowedByAuthenticatedUser: ["GET /user/following"], - listFollowersForAuthenticatedUser: ["GET /user/followers"], - listFollowersForUser: ["GET /users/{username}/followers"], - listFollowingForUser: ["GET /users/{username}/following"], - listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { - renamed: ["users", "listGpgKeysForAuthenticatedUser"] - }], - listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], - listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], - listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { - renamed: ["users", "listPublicEmailsForAuthenticatedUser"] - }], - listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], - listPublicKeysForUser: ["GET /users/{username}/keys"], - listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { - renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] - }], - listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], - setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { - renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] - }], - setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], - unblock: ["DELETE /user/blocks/{username}"], - unfollow: ["DELETE /user/following/{username}"], - updateAuthenticated: ["PATCH /user"] - } -}; - -const VERSION = "5.16.2"; - -function endpointsToMethods(octokit, endpointsMap) { - const newMethods = {}; - - for (const [scope, endpoints] of Object.entries(endpointsMap)) { - for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); - const endpointDefaults = Object.assign({ - method, - url - }, defaults); - - if (!newMethods[scope]) { - newMethods[scope] = {}; - } - - const scopeMethods = newMethods[scope]; - - if (decorations) { - scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); - continue; - } - - scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); - } - } - - return newMethods; -} - -function decorate(octokit, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit.request.defaults(defaults); - /* istanbul ignore next */ - - function withDecorations(...args) { - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` - - if (decorations.mapToData) { - options = Object.assign({}, options, { - data: options[decorations.mapToData], - [decorations.mapToData]: undefined - }); - return requestWithDefaults(options); - } - - if (decorations.renamed) { - const [newScope, newMethodName] = decorations.renamed; - octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); - } - - if (decorations.deprecated) { - octokit.log.warn(decorations.deprecated); - } - - if (decorations.renamedParameters) { - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - const options = requestWithDefaults.endpoint.merge(...args); - - for (const [name, alias] of Object.entries(decorations.renamedParameters)) { - if (name in options) { - octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); - - if (!(alias in options)) { - options[alias] = options[name]; - } - - delete options[name]; - } - } - - return requestWithDefaults(options); - } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - - - return requestWithDefaults(...args); - } - - return Object.assign(withDecorations, requestWithDefaults); -} - -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit, Endpoints); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit, Endpoints); - return _objectSpread2(_objectSpread2({}, api), {}, { - rest: api - }); -} -legacyRestEndpointMethods.VERSION = VERSION; - -exports.legacyRestEndpointMethods = legacyRestEndpointMethods; -exports.restEndpointMethods = restEndpointMethods; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 537: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var deprecation = __nccwpck_require__(8932); -var once = _interopDefault(__nccwpck_require__(1223)); - -const logOnceCode = once(deprecation => console.warn(deprecation)); -const logOnceHeaders = once(deprecation => console.warn(deprecation)); -/** - * Error with extra properties to help with debugging - */ - -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - - this.name = "HttpError"; - this.status = statusCode; - let headers; - - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } // redact request credentials without mutating original request options - - - const requestCopy = Object.assign({}, options.request); - - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") - }); - } - - requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit - // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended - // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header - .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; // deprecations - - Object.defineProperty(this, "code", { - get() { - logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } - - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); - return headers || {}; - } - - }); - } - -} - -exports.RequestError = RequestError; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 6234: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var endpoint = __nccwpck_require__(9440); -var universalUserAgent = __nccwpck_require__(5030); -var isPlainObject = __nccwpck_require__(3287); -var nodeFetch = _interopDefault(__nccwpck_require__(467)); -var requestError = __nccwpck_require__(537); - -const VERSION = "5.6.3"; - -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - - if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - - let headers = {}; - let status; - let url; - const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, // `requestOptions.request.agent` type is incompatible - // see https://github.com/octokit/types.ts/pull/264 - requestOptions.request)).then(async response => { - url = response.url; - status = response.status; - - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); - } - - if (status === 204 || status === 205) { - return; - } // GitHub API returns 200 for HEAD requests - - - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - - throw new requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: undefined - }, - request: requestOptions - }); - } - - if (status === 304) { - throw new requestError.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - - return getResponseData(response); - }).then(data => { - return { - status, - url, - headers, - data - }; - }).catch(error => { - if (error instanceof requestError.RequestError) throw error; - throw new requestError.RequestError(error.message, 500, { - request: requestOptions - }); - }); -} - -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - - if (/application\/json/.test(contentType)) { - return response.json(); - } - - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - - return getBufferResponse(response); -} - -function toErrorMessage(data) { - if (typeof data === "string") return data; // istanbul ignore else - just in case - - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - - return data.message; - } // istanbul ignore next - just in case - - - return `Unknown error: ${JSON.stringify(data)}`; -} - -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; - - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); - }; - - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); -} - -const request = withDefaults(endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` - } -}); - -exports.request = request; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 3682: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var register = __nccwpck_require__(4670); -var addHook = __nccwpck_require__(5549); -var removeHook = __nccwpck_require__(6819); - -// bind with array of arguments: https://stackoverflow.com/a/21792913 -var bind = Function.bind; -var bindable = bind.bind(bind); - -function bindApi(hook, state, name) { - var removeHookRef = bindable(removeHook, null).apply( - null, - name ? [state, name] : [state] - ); - hook.api = { remove: removeHookRef }; - hook.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach(function (kind) { - var args = name ? [state, kind, name] : [state, kind]; - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); - }); -} - -function HookSingular() { - var singularHookName = "h"; - var singularHookState = { - registry: {}, - }; - var singularHook = register.bind(null, singularHookState, singularHookName); - bindApi(singularHook, singularHookState, singularHookName); - return singularHook; -} - -function HookCollection() { - var state = { - registry: {}, - }; - - var hook = register.bind(null, state); - bindApi(hook, state); - - return hook; -} - -var collectionHookDeprecationMessageDisplayed = false; -function Hook() { - if (!collectionHookDeprecationMessageDisplayed) { - console.warn( - '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' - ); - collectionHookDeprecationMessageDisplayed = true; - } - return HookCollection(); -} - -Hook.Singular = HookSingular.bind(); -Hook.Collection = HookCollection.bind(); - -module.exports = Hook; -// expose constructors as a named property for TypeScript -module.exports.Hook = Hook; -module.exports.Singular = Hook.Singular; -module.exports.Collection = Hook.Collection; - - -/***/ }), - -/***/ 5549: -/***/ ((module) => { - -module.exports = addHook; - -function addHook(state, kind, name, hook) { - var orig = hook; - if (!state.registry[name]) { - state.registry[name] = []; - } - - if (kind === "before") { - hook = function (method, options) { - return Promise.resolve() - .then(orig.bind(null, options)) - .then(method.bind(null, options)); - }; - } - - if (kind === "after") { - hook = function (method, options) { - var result; - return Promise.resolve() - .then(method.bind(null, options)) - .then(function (result_) { - result = result_; - return orig(result, options); - }) - .then(function () { - return result; - }); - }; - } - - if (kind === "error") { - hook = function (method, options) { - return Promise.resolve() - .then(method.bind(null, options)) - .catch(function (error) { - return orig(error, options); - }); - }; - } - - state.registry[name].push({ - hook: hook, - orig: orig, - }); -} - - -/***/ }), - -/***/ 4670: -/***/ ((module) => { - -module.exports = register; - -function register(state, name, method, options) { - if (typeof method !== "function") { - throw new Error("method for before hook must be a function"); - } - - if (!options) { - options = {}; - } - - if (Array.isArray(name)) { - return name.reverse().reduce(function (callback, name) { - return register.bind(null, state, name, callback, options); - }, method)(); - } - - return Promise.resolve().then(function () { - if (!state.registry[name]) { - return method(options); - } - - return state.registry[name].reduce(function (method, registered) { - return registered.hook.bind(null, method, options); - }, method)(); - }); -} - - -/***/ }), - -/***/ 6819: -/***/ ((module) => { - -module.exports = removeHook; - -function removeHook(state, name, method) { - if (!state.registry[name]) { - return; - } - - var index = state.registry[name] - .map(function (registered) { - return registered.orig; - }) - .indexOf(method); - - if (index === -1) { - return; - } - - state.registry[name].splice(index, 1); -} - - -/***/ }), - -/***/ 8932: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -class Deprecation extends Error { - constructor(message) { - super(message); // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - - this.name = 'Deprecation'; - } - -} - -exports.Deprecation = Deprecation; - - -/***/ }), - -/***/ 3287: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -function isObject(o) { - return Object.prototype.toString.call(o) === '[object Object]'; -} - -function isPlainObject(o) { - var ctor,prot; - - if (isObject(o) === false) return false; - - // If has modified constructor - ctor = o.constructor; - if (ctor === undefined) return true; - - // If has modified prototype - prot = ctor.prototype; - if (isObject(prot) === false) return false; - - // If constructor does not have an Object-specific method - if (prot.hasOwnProperty('isPrototypeOf') === false) { - return false; - } - - // Most likely a plain Object - return true; -} - -exports.isPlainObject = isPlainObject; - - -/***/ }), - -/***/ 467: -/***/ ((module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var Stream = _interopDefault(__nccwpck_require__(2781)); -var http = _interopDefault(__nccwpck_require__(3685)); -var Url = _interopDefault(__nccwpck_require__(7310)); -var whatwgUrl = _interopDefault(__nccwpck_require__(8665)); -var https = _interopDefault(__nccwpck_require__(5687)); -var zlib = _interopDefault(__nccwpck_require__(9796)); - -// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js - -// fix for "Readable" isn't a named export issue -const Readable = Stream.Readable; - -const BUFFER = Symbol('buffer'); -const TYPE = Symbol('type'); - -class Blob { - constructor() { - this[TYPE] = ''; - - const blobParts = arguments[0]; - const options = arguments[1]; - - const buffers = []; - let size = 0; - - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === 'string' ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } - - this[BUFFER] = Buffer.concat(buffers); - - let type = options && options.type !== undefined && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } - } - get size() { - return this[BUFFER].length; - } - get type() { - return this[TYPE]; - } - text() { - return Promise.resolve(this[BUFFER].toString()); - } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); - } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; - } - toString() { - return '[object Blob]'; - } - slice() { - const size = this.size; - - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === undefined) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === undefined) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); - - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; - } -} - -Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } -}); - -Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: 'Blob', - writable: false, - enumerable: false, - configurable: true -}); - -/** - * fetch-error.js - * - * FetchError interface for operational errors - */ - -/** - * Create FetchError instance - * - * @param String message Error message for human - * @param String type Error type for machine - * @param String systemError For Node.js system error - * @return FetchError - */ -function FetchError(message, type, systemError) { - Error.call(this, message); - - this.message = message; - this.type = type; - - // when err.type is `system`, err.code contains system error code - if (systemError) { - this.code = this.errno = systemError.code; - } - - // hide custom error implementation details from end-users - Error.captureStackTrace(this, this.constructor); -} - -FetchError.prototype = Object.create(Error.prototype); -FetchError.prototype.constructor = FetchError; -FetchError.prototype.name = 'FetchError'; - -let convert; -try { - convert = (__nccwpck_require__(2877).convert); -} catch (e) {} - -const INTERNALS = Symbol('Body internals'); - -// fix an issue where "PassThrough" isn't a named export for node <10 -const PassThrough = Stream.PassThrough; - -/** - * Body mixin - * - * Ref: https://fetch.spec.whatwg.org/#body - * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void - */ -function Body(body) { - var _this = this; - - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$size = _ref.size; - - let size = _ref$size === undefined ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; - - if (body == null) { - // body is undefined or null - body = null; - } else if (isURLSearchParams(body)) { - // body is a URLSearchParams - body = Buffer.from(body.toString()); - } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - // body is ArrayBuffer - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - // body is ArrayBufferView - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) ; else { - // none of the above - // coerce to string then buffer - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - - if (body instanceof Stream) { - body.on('error', function (err) { - const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); - _this[INTERNALS].error = error; - }); - } -} - -Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - - /** - * Decode response as ArrayBuffer - * - * @return Promise - */ - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, - - /** - * Return raw response as Blob - * - * @return Promise - */ - blob() { - let ct = this.headers && this.headers.get('content-type') || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - // Prevent copying - new Blob([], { - type: ct.toLowerCase() - }), { - [BUFFER]: buf - }); - }); - }, - - /** - * Decode response as json - * - * @return Promise - */ - json() { - var _this2 = this; - - return consumeBody.call(this).then(function (buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); - } - }); - }, - - /** - * Decode response as text - * - * @return Promise - */ - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); - }); - }, - - /** - * Decode response as buffer (non-spec api) - * - * @return Promise - */ - buffer() { - return consumeBody.call(this); - }, - - /** - * Decode response as text, while automatically detecting the encoding and - * trying to decode to UTF-8 (non-spec api) - * - * @return Promise - */ - textConverted() { - var _this3 = this; - - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); - }); - } -}; - -// In browsers, all properties are enumerable. -Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } -}); - -Body.mixIn = function (proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - // istanbul ignore else: future proof - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); - } - } -}; - -/** - * Consume and convert an entire Body to a Buffer. - * - * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body - * - * @return Promise - */ -function consumeBody() { - var _this4 = this; - - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } - - this[INTERNALS].disturbed = true; - - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } - - let body = this.body; - - // body is null - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - - // body is blob - if (isBlob(body)) { - body = body.stream(); - } - - // body is buffer - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } - - // istanbul ignore if: should never happen - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - - // body is stream - // get ready to actually consume the body - let accum = []; - let accumBytes = 0; - let abort = false; - - return new Body.Promise(function (resolve, reject) { - let resTimeout; - - // allow timeout on slow response body - if (_this4.timeout) { - resTimeout = setTimeout(function () { - abort = true; - reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); - }, _this4.timeout); - } - - // handle stream errors - body.on('error', function (err) { - if (err.name === 'AbortError') { - // if the request was aborted, reject with this Error - abort = true; - reject(err); - } else { - // other errors, such as incorrect content-encoding - reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); - } - }); - - body.on('data', function (chunk) { - if (abort || chunk === null) { - return; - } - - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); - return; - } - - accumBytes += chunk.length; - accum.push(chunk); - }); - - body.on('end', function () { - if (abort) { - return; - } - - clearTimeout(resTimeout); - - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - // handle streams that have accumulated too much data (issue #414) - reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); - } - }); - }); -} - -/** - * Detect buffer encoding and convert to target encoding - * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding - * - * @param Buffer buffer Incoming buffer - * @param String encoding Target encoding - * @return String - */ -function convertBody(buffer, headers) { - if (typeof convert !== 'function') { - throw new Error('The package `encoding` must be installed to use the textConverted() function'); - } - - const ct = headers.get('content-type'); - let charset = 'utf-8'; - let res, str; - - // header - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } - - // no charset in content type, peek at response body for at most 1024 bytes - str = buffer.slice(0, 1024).toString(); - - // html5 - if (!res && str) { - res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; - - this[MAP] = Object.create(null); - - if (init instanceof Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); - - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } - } - - return; - } - - // We don't worry about converting prop to ByteString here as append() - // will handle it. - if (init == null) ; else if (typeof init === 'object') { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== 'function') { - throw new TypeError('Header pairs must be iterable'); - } - - // sequence> - // Note: per spec we have to first exhaust the lists then process them - const pairs = []; - for (const pair of init) { - if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { - throw new TypeError('Each header pair must be iterable'); - } - pairs.push(Array.from(pair)); - } - - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError('Each header pair must be a name/value tuple'); - } - this.append(pair[0], pair[1]); - } - } else { - // record - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } - } else { - throw new TypeError('Provided initializer must be an object'); - } - } - - /** - * Return combined header value given name - * - * @param String name Header name - * @return Mixed - */ - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === undefined) { - return null; - } - - return this[MAP][key].join(', '); - } - - /** - * Iterate over all headers - * - * @param Function callback Executed for each item with parameters (value, name, thisArg) - * @param Boolean thisArg `this` context for callback function - * @return Void - */ - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], - value = _pairs$i[1]; - - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; - } - } - - /** - * Overwrite header values given name - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== undefined ? key : name] = [value]; - } - - /** - * Append a value onto existing header - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== undefined) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; - } - } - - /** - * Check for header name existence - * - * @param String name Header name - * @return Boolean - */ - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== undefined; - } - - /** - * Delete all header values given name - * - * @param String name Header name - * @return Void - */ - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== undefined) { - delete this[MAP][key]; - } - } - - /** - * Return raw headers (non-spec api) - * - * @return Object - */ - raw() { - return this[MAP]; - } - - /** - * Get an iterator on keys. - * - * @return Iterator - */ - keys() { - return createHeadersIterator(this, 'key'); - } - - /** - * Get an iterator on values. - * - * @return Iterator - */ - values() { - return createHeadersIterator(this, 'value'); - } - - /** - * Get an iterator on entries. - * - * This is the default iterator of the Headers object. - * - * @return Iterator - */ - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); - } -} -Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - -Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: 'Headers', - writable: false, - enumerable: false, - configurable: true -}); - -Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } -}); - -function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; - - const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === 'key' ? function (k) { - return k.toLowerCase(); - } : kind === 'value' ? function (k) { - return headers[MAP][k].join(', '); - } : function (k) { - return [k.toLowerCase(), headers[MAP][k].join(', ')]; - }); -} - -const INTERNAL = Symbol('internal'); - -function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; -} - -const HeadersIteratorPrototype = Object.setPrototypeOf({ - next() { - // istanbul ignore if - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError('Value of `this` is not a HeadersIterator'); - } - - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, - kind = _INTERNAL.kind, - index = _INTERNAL.index; - - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: undefined, - done: true - }; - } - - this[INTERNAL].index = index + 1; - - return { - value: values[index], - done: false - }; - } -}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); - -Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: 'HeadersIterator', - writable: false, - enumerable: false, - configurable: true -}); - -/** - * Export the Headers object in a form that Node.js can consume. - * - * @param Headers headers - * @return Object - */ -function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - - // http.request() only supports string as Host header. This hack makes - // specifying custom Host header possible. - const hostHeaderKey = find(headers[MAP], 'Host'); - if (hostHeaderKey !== undefined) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } - - return obj; -} - -/** - * Create a Headers object from an object of headers, ignoring those that do - * not conform to HTTP grammar productions. - * - * @param Object obj Object of headers - * @return Headers - */ -function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; - } - if (headers[MAP][name] === undefined) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } - } - return headers; -} - -const INTERNALS$1 = Symbol('Response internals'); - -// fix an issue where "STATUS_CODES" aren't a named export for node <10 -const STATUS_CODES = http.STATUS_CODES; - -/** - * Response class - * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void - */ -class Response { - constructor() { - let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - Body.call(this, body, opts); - - const status = opts.status || 200; - const headers = new Headers(opts.headers); - - if (body != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body); - if (contentType) { - headers.append('Content-Type', contentType); - } - } - - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } - - get url() { - return this[INTERNALS$1].url || ''; - } - - get status() { - return this[INTERNALS$1].status; - } - - /** - * Convenience property representing if the request ended normally - */ - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } - - get redirected() { - return this[INTERNALS$1].counter > 0; - } - - get statusText() { - return this[INTERNALS$1].statusText; - } - - get headers() { - return this[INTERNALS$1].headers; - } - - /** - * Clone this response - * - * @return Response - */ - clone() { - return new Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); - } -} - -Body.mixIn(Response.prototype); - -Object.defineProperties(Response.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } -}); - -Object.defineProperty(Response.prototype, Symbol.toStringTag, { - value: 'Response', - writable: false, - enumerable: false, - configurable: true -}); - -const INTERNALS$2 = Symbol('Request internals'); -const URL = Url.URL || whatwgUrl.URL; - -// fix an issue where "format", "parse" aren't a named export for node <10 -const parse_url = Url.parse; -const format_url = Url.format; - -/** - * Wrapper around `new URL` to handle arbitrary URLs - * - * @param {string} urlStr - * @return {void} - */ -function parseURL(urlStr) { - /* - Check whether the URL is absolute or not - Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 - Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 - */ - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL(urlStr).toString(); - } - - // Fallback to old implementation for arbitrary URLs - return parse_url(urlStr); -} - -const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; - -/** - * Check if a value is an instance of Request. - * - * @param Mixed input - * @return Boolean - */ -function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; -} - -function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); -} - -/** - * Request class - * - * @param Mixed input Url or Request instance - * @param Object init Custom options - * @return Void - */ -class Request { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - let parsedURL; - - // normalize input - if (!isRequest(input)) { - if (input && input.href) { - // in order to support Node.js' Url objects; though WHATWG's URL objects - // will fall into this branch also (since their `toString()` will return - // `href` property anyway) - parsedURL = parseURL(input.href); - } else { - // coerce input to a string before attempting to parse - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } - - let method = init.method || input.method || 'GET'; - method = method.toUpperCase(); - - if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { - throw new TypeError('Request with GET/HEAD method cannot have body'); - } - - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); - - const headers = new Headers(init.headers || input.headers || {}); - - if (inputBody != null && !headers.has('Content-Type')) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append('Content-Type', contentType); - } - } - - let signal = isRequest(input) ? input.signal : null; - if ('signal' in init) signal = init.signal; - - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError('Expected signal to be an instanceof AbortSignal'); - } - - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || 'follow', - headers, - parsedURL, - signal - }; - - // node-fetch-only options - this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; - this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; - } - - get method() { - return this[INTERNALS$2].method; - } - - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } - - get headers() { - return this[INTERNALS$2].headers; - } - - get redirect() { - return this[INTERNALS$2].redirect; - } - - get signal() { - return this[INTERNALS$2].signal; - } - - /** - * Clone this request - * - * @return Request - */ - clone() { - return new Request(this); - } -} - -Body.mixIn(Request.prototype); - -Object.defineProperty(Request.prototype, Symbol.toStringTag, { - value: 'Request', - writable: false, - enumerable: false, - configurable: true -}); - -Object.defineProperties(Request.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } -}); - -/** - * Convert a Request to Node.js http request options. - * - * @param Request A Request instance - * @return Object The options object to be passed to http.request - */ -function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); - - // fetch step 1.3 - if (!headers.has('Accept')) { - headers.set('Accept', '*/*'); - } - - // Basic fetch - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError('Only absolute URLs are supported'); - } - - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError('Only HTTP(S) protocols are supported'); - } - - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); - } - - // HTTP-network-or-cache fetch steps 2.4-2.7 - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = '0'; - } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === 'number') { - contentLengthValue = String(totalBytes); - } - } - if (contentLengthValue) { - headers.set('Content-Length', contentLengthValue); - } - - // HTTP-network-or-cache fetch step 2.11 - if (!headers.has('User-Agent')) { - headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); - } - - // HTTP-network-or-cache fetch step 2.15 - if (request.compress && !headers.has('Accept-Encoding')) { - headers.set('Accept-Encoding', 'gzip,deflate'); - } - - let agent = request.agent; - if (typeof agent === 'function') { - agent = agent(parsedURL); - } - - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); - } - - // HTTP-network fetch step 4.2 - // chunked encoding is handled by Node.js - - return Object.assign({}, parsedURL, { - method: request.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); -} - -/** - * abort-error.js - * - * AbortError interface for cancelled requests - */ - -/** - * Create AbortError instance - * - * @param String message Error message for human - * @return AbortError - */ -function AbortError(message) { - Error.call(this, message); - - this.type = 'aborted'; - this.message = message; - - // hide custom error implementation details from end-users - Error.captureStackTrace(this, this.constructor); -} - -AbortError.prototype = Object.create(Error.prototype); -AbortError.prototype.constructor = AbortError; -AbortError.prototype.name = 'AbortError'; - -const URL$1 = Url.URL || whatwgUrl.URL; - -// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 -const PassThrough$1 = Stream.PassThrough; - -const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; - - return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); -}; - -/** - * isSameProtocol reports whether the two provided URLs use the same protocol. - * - * Both domains must already be in canonical form. - * @param {string|URL} original - * @param {string|URL} destination - */ -const isSameProtocol = function isSameProtocol(destination, original) { - const orig = new URL$1(original).protocol; - const dest = new URL$1(destination).protocol; - - return orig === dest; -}; - -/** - * Fetch function - * - * @param Mixed url Absolute url or Request instance - * @param Object opts Fetch options - * @return Promise - */ -function fetch(url, opts) { - - // allow custom promise - if (!fetch.Promise) { - throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); - } - - Body.Promise = fetch.Promise; - - // wrap http.request into fetch - return new fetch.Promise(function (resolve, reject) { - // build request object - const request = new Request(url, opts); - const options = getNodeRequestOptions(request); - - const send = (options.protocol === 'https:' ? https : http).request; - const signal = request.signal; - - let response = null; - - const abort = function abort() { - let error = new AbortError('The user aborted a request.'); - reject(error); - if (request.body && request.body instanceof Stream.Readable) { - destroyStream(request.body, error); - } - if (!response || !response.body) return; - response.body.emit('error', error); - }; - - if (signal && signal.aborted) { - abort(); - return; - } - - const abortAndFinalize = function abortAndFinalize() { - abort(); - finalize(); - }; - - // send request - const req = send(options); - let reqTimeout; - - if (signal) { - signal.addEventListener('abort', abortAndFinalize); - } - - function finalize() { - req.abort(); - if (signal) signal.removeEventListener('abort', abortAndFinalize); - clearTimeout(reqTimeout); - } - - if (request.timeout) { - req.once('socket', function (socket) { - reqTimeout = setTimeout(function () { - reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); - finalize(); - }, request.timeout); - }); - } - - req.on('error', function (err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); - - if (response && response.body) { - destroyStream(response.body, err); - } - - finalize(); - }); - - fixResponseChunkedTransferBadEnding(req, function (err) { - if (signal && signal.aborted) { - return; - } - - if (response && response.body) { - destroyStream(response.body, err); - } - }); - - /* c8 ignore next 18 */ - if (parseInt(process.version.substring(1)) < 14) { - // Before Node.js 14, pipeline() does not fully support async iterators and does not always - // properly handle when the socket close/end events are out of order. - req.on('socket', function (s) { - s.addListener('close', function (hadError) { - // if a data listener is still present we didn't end cleanly - const hasDataListener = s.listenerCount('data') > 0; - - // if end happened before close but the socket didn't emit an error, do it now - if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { - const err = new Error('Premature close'); - err.code = 'ERR_STREAM_PREMATURE_CLOSE'; - response.body.emit('error', err); - } - }); - }); - } - - req.on('response', function (res) { - clearTimeout(reqTimeout); - - const headers = createHeadersLenient(res.headers); - - // HTTP fetch step 5 - if (fetch.isRedirect(res.statusCode)) { - // HTTP fetch step 5.2 - const location = headers.get('Location'); - - // HTTP fetch step 5.3 - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - // error here can only be invalid URL in Location: header - // do not throw when options.redirect == manual - // let the user extract the errorneous redirect URL - if (request.redirect !== 'manual') { - reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); - finalize(); - return; - } - } - - // HTTP fetch step 5.5 - switch (request.redirect) { - case 'error': - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); - finalize(); - return; - case 'manual': - // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. - if (locationURL !== null) { - // handle corrupted header - try { - headers.set('Location', locationURL); - } catch (err) { - // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request - reject(err); - } - } - break; - case 'follow': - // HTTP-redirect fetch step 2 - if (locationURL === null) { - break; - } - - // HTTP-redirect fetch step 5 - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); - finalize(); - return; - } - - // HTTP-redirect fetch step 6 (counter increment) - // Create a new Request object. - const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; - - if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { - for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { - requestOpts.headers.delete(name); - } - } - - // HTTP-redirect fetch step 9 - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); - finalize(); - return; - } - - // HTTP-redirect fetch step 11 - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { - requestOpts.method = 'GET'; - requestOpts.body = undefined; - requestOpts.headers.delete('content-length'); - } - - // HTTP-redirect fetch step 15 - resolve(fetch(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } - - // prepare response - res.once('end', function () { - if (signal) signal.removeEventListener('abort', abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); - - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers: headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; - - // HTTP-network fetch step 12.1.1.3 - const codings = headers.get('Content-Encoding'); - - // HTTP-network fetch step 12.1.1.4: handle content codings - - // in following scenarios we ignore compression support - // 1. compression support is disabled - // 2. HEAD request - // 3. no Content-Encoding header - // 4. no content response (204) - // 5. content not modified response (304) - if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response(body, response_options); - resolve(response); - return; - } - - // For Node v6+ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - - // for gzip - if (codings == 'gzip' || codings == 'x-gzip') { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body, response_options); - resolve(response); - return; - } - - // for deflate - if (codings == 'deflate' || codings == 'x-deflate') { - // handle the infamous raw deflate response from old servers - // a hack for old IIS and Apache servers - const raw = res.pipe(new PassThrough$1()); - raw.once('data', function (chunk) { - // see http://stackoverflow.com/questions/37519828 - if ((chunk[0] & 0x0F) === 0x08) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response(body, response_options); - resolve(response); - }); - raw.on('end', function () { - // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. - if (!response) { - response = new Response(body, response_options); - resolve(response); - } - }); - return; - } - - // for br - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response(body, response_options); - resolve(response); - return; - } - - // otherwise, use response as-is - response = new Response(body, response_options); - resolve(response); - }); - - writeToStream(req, request); - }); -} -function fixResponseChunkedTransferBadEnding(request, errorCallback) { - let socket; - - request.on('socket', function (s) { - socket = s; - }); - - request.on('response', function (response) { - const headers = response.headers; - - if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { - response.once('close', function (hadError) { - // if a data listener is still present we didn't end cleanly - const hasDataListener = socket.listenerCount('data') > 0; - - if (hasDataListener && !hadError) { - const err = new Error('Premature close'); - err.code = 'ERR_STREAM_PREMATURE_CLOSE'; - errorCallback(err); - } - }); - } - }); -} - -function destroyStream(stream, err) { - if (stream.destroy) { - stream.destroy(err); - } else { - // node < 8 - stream.emit('error', err); - stream.end(); - } -} - -/** - * Redirect code matching - * - * @param Number code Status code - * @return Boolean - */ -fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; -}; - -// expose Promise -fetch.Promise = global.Promise; - -module.exports = exports = fetch; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports["default"] = exports; -exports.Headers = Headers; -exports.Request = Request; -exports.Response = Response; -exports.FetchError = FetchError; - - -/***/ }), - -/***/ 1223: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var wrappy = __nccwpck_require__(2940) -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) - -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) - - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) - -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) - } - f.called = false - return f -} - -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f -} - - -/***/ }), - -/***/ 4256: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -var punycode = __nccwpck_require__(5477); -var mappingTable = __nccwpck_require__(2020); - -var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 -}; - -function normalize(str) { // fix bug in v8 - return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); -} - -function findStatus(val) { - var start = 0; - var end = mappingTable.length - 1; - - while (start <= end) { - var mid = Math.floor((start + end) / 2); - - var target = mappingTable[mid]; - if (target[0][0] <= val && target[0][1] >= val) { - return target; - } else if (target[0][0] > val) { - end = mid - 1; - } else { - start = mid + 1; - } - } - - return null; -} - -var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - -function countSymbols(string) { - return string - // replace every surrogate pair with a BMP symbol - .replace(regexAstralSymbols, '_') - // then get the length - .length; -} - -function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ""; - - var len = countSymbols(domain_name); - for (var i = 0; i < len; ++i) { - var codePoint = domain_name.codePointAt(i); - var status = findStatus(codePoint); - - switch (status[1]) { - case "disallowed": - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case "ignored": - break; - case "mapped": - processed += String.fromCodePoint.apply(String, status[2]); - break; - case "deviation": - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); - } else { - processed += String.fromCodePoint(codePoint); - } - break; - case "valid": - processed += String.fromCodePoint(codePoint); - break; - case "disallowed_STD3_mapped": - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); - } - break; - case "disallowed_STD3_valid": - if (useSTD3) { - hasError = true; - } - - processed += String.fromCodePoint(codePoint); - break; - } - } - - return { - string: processed, - error: hasError - }; -} - -var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - -function validateLabel(label, processing_option) { - if (label.substr(0, 4) === "xn--") { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - - var error = false; - - if (normalize(label) !== label || - (label[3] === "-" && label[4] === "-") || - label[0] === "-" || label[label.length - 1] === "-" || - label.indexOf(".") !== -1 || - label.search(combiningMarksRegex) === 0) { - error = true; - } - - var len = countSymbols(label); - for (var i = 0; i < len; ++i) { - var status = findStatus(label.codePointAt(i)); - if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || - (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && - status[1] !== "valid" && status[1] !== "deviation")) { - error = true; - break; - } - } - - return { - label: label, - error: error - }; -} - -function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - - var labels = result.string.split("."); - for (var i = 0; i < labels.length; ++i) { - try { - var validation = validateLabel(labels[i]); - labels[i] = validation.label; - result.error = result.error || validation.error; - } catch(e) { - result.error = true; - } - } - - return { - string: labels.join("."), - error: result.error - }; -} - -module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split("."); - labels = labels.map(function(l) { - try { - return punycode.toASCII(l); - } catch(e) { - result.error = true; - return l; - } - }); - - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join(".").length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - - for (var i=0; i < labels.length; ++i) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; - } - } - } - - if (result.error) return null; - return labels.join("."); -}; - -module.exports.toUnicode = function(domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - - return { - domain: result.string, - error: result.error - }; -}; - -module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - - -/***/ }), - -/***/ 4294: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -module.exports = __nccwpck_require__(4219); - - -/***/ }), - -/***/ 4219: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -var net = __nccwpck_require__(1808); -var tls = __nccwpck_require__(4404); -var http = __nccwpck_require__(3685); -var https = __nccwpck_require__(5687); -var events = __nccwpck_require__(2361); -var assert = __nccwpck_require__(9491); -var util = __nccwpck_require__(3837); - - -exports.httpOverHttp = httpOverHttp; -exports.httpsOverHttp = httpsOverHttp; -exports.httpOverHttps = httpOverHttps; -exports.httpsOverHttps = httpsOverHttps; - - -function httpOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - return agent; -} - -function httpsOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; -} - -function httpOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - return agent; -} - -function httpsOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; -} - - -function TunnelingAgent(options) { - var self = this; - self.options = options || {}; - self.proxyOptions = self.options.proxy || {}; - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; - self.requests = []; - self.sockets = []; - - self.on('free', function onFree(socket, host, port, localAddress) { - var options = toOptions(host, port, localAddress); - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i]; - if (pending.host === options.host && pending.port === options.port) { - // Detect the request to connect same origin server, - // reuse the connection. - self.requests.splice(i, 1); - pending.request.onSocket(socket); - return; - } - } - socket.destroy(); - self.removeSocket(socket); - }); -} -util.inherits(TunnelingAgent, events.EventEmitter); - -TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { - var self = this; - var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); - - if (self.sockets.length >= this.maxSockets) { - // We are over limit so we'll add it to the queue. - self.requests.push(options); - return; - } - - // If we are under maxSockets create a new one. - self.createSocket(options, function(socket) { - socket.on('free', onFree); - socket.on('close', onCloseOrRemove); - socket.on('agentRemove', onCloseOrRemove); - req.onSocket(socket); - - function onFree() { - self.emit('free', socket, options); - } - - function onCloseOrRemove(err) { - self.removeSocket(socket); - socket.removeListener('free', onFree); - socket.removeListener('close', onCloseOrRemove); - socket.removeListener('agentRemove', onCloseOrRemove); - } - }); -}; - -TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this; - var placeholder = {}; - self.sockets.push(placeholder); - - var connectOptions = mergeOptions({}, self.proxyOptions, { - method: 'CONNECT', - path: options.host + ':' + options.port, - agent: false, - headers: { - host: options.host + ':' + options.port - } - }); - if (options.localAddress) { - connectOptions.localAddress = options.localAddress; - } - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers['Proxy-Authorization'] = 'Basic ' + - new Buffer(connectOptions.proxyAuth).toString('base64'); - } - - debug('making CONNECT request'); - var connectReq = self.request(connectOptions); - connectReq.useChunkedEncodingByDefault = false; // for v0.6 - connectReq.once('response', onResponse); // for v0.6 - connectReq.once('upgrade', onUpgrade); // for v0.6 - connectReq.once('connect', onConnect); // for v0.7 or later - connectReq.once('error', onError); - connectReq.end(); - - function onResponse(res) { - // Very hacky. This is necessary to avoid http-parser leaks. - res.upgrade = true; - } - - function onUpgrade(res, socket, head) { - // Hacky. - process.nextTick(function() { - onConnect(res, socket, head); - }); - } - - function onConnect(res, socket, head) { - connectReq.removeAllListeners(); - socket.removeAllListeners(); - - if (res.statusCode !== 200) { - debug('tunneling socket could not be established, statusCode=%d', - res.statusCode); - socket.destroy(); - var error = new Error('tunneling socket could not be established, ' + - 'statusCode=' + res.statusCode); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - return; - } - if (head.length > 0) { - debug('got illegal response body from proxy'); - socket.destroy(); - var error = new Error('got illegal response body from proxy'); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - return; - } - debug('tunneling connection has established'); - self.sockets[self.sockets.indexOf(placeholder)] = socket; - return cb(socket); - } - - function onError(cause) { - connectReq.removeAllListeners(); - - debug('tunneling socket could not be established, cause=%s\n', - cause.message, cause.stack); - var error = new Error('tunneling socket could not be established, ' + - 'cause=' + cause.message); - error.code = 'ECONNRESET'; - options.request.emit('error', error); - self.removeSocket(placeholder); - } -}; - -TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket) - if (pos === -1) { - return; - } - this.sockets.splice(pos, 1); - - var pending = this.requests.shift(); - if (pending) { - // If we have pending requests and a socket gets closed a new one - // needs to be created to take over in the pool for the one that closed. - this.createSocket(pending, function(socket) { - pending.request.onSocket(socket); - }); - } -}; - -function createSecureSocket(options, cb) { - var self = this; - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - var hostHeader = options.request.getHeader('host'); - var tlsOptions = mergeOptions({}, self.options, { - socket: socket, - servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host - }); - - // 0 is dummy port for v0.6 - var secureSocket = tls.connect(0, tlsOptions); - self.sockets[self.sockets.indexOf(socket)] = secureSocket; - cb(secureSocket); - }); -} - - -function toOptions(host, port, localAddress) { - if (typeof host === 'string') { // since v0.10 - return { - host: host, - port: port, - localAddress: localAddress - }; - } - return host; // for v0.11 or later -} - -function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i]; - if (typeof overrides === 'object') { - var keys = Object.keys(overrides); - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j]; - if (overrides[k] !== undefined) { - target[k] = overrides[k]; - } - } - } - } - return target; -} - - -var debug; -if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === 'string') { - args[0] = 'TUNNEL: ' + args[0]; - } else { - args.unshift('TUNNEL:'); - } - console.error.apply(console, args); - } -} else { - debug = function() {}; -} -exports.debug = debug; // for test - - -/***/ }), - -/***/ 5030: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function getUserAgent() { - if (typeof navigator === "object" && "userAgent" in navigator) { - return navigator.userAgent; - } - - if (typeof process === "object" && "version" in process) { - return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; - } - - return ""; -} - -exports.getUserAgent = getUserAgent; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 5840: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "v1", ({ - enumerable: true, - get: function () { - return _v.default; - } -})); -Object.defineProperty(exports, "v3", ({ - enumerable: true, - get: function () { - return _v2.default; - } -})); -Object.defineProperty(exports, "v4", ({ - enumerable: true, - get: function () { - return _v3.default; - } -})); -Object.defineProperty(exports, "v5", ({ - enumerable: true, - get: function () { - return _v4.default; - } -})); -Object.defineProperty(exports, "NIL", ({ - enumerable: true, - get: function () { - return _nil.default; - } -})); -Object.defineProperty(exports, "version", ({ - enumerable: true, - get: function () { - return _version.default; - } -})); -Object.defineProperty(exports, "validate", ({ - enumerable: true, - get: function () { - return _validate.default; - } -})); -Object.defineProperty(exports, "stringify", ({ - enumerable: true, - get: function () { - return _stringify.default; - } -})); -Object.defineProperty(exports, "parse", ({ - enumerable: true, - get: function () { - return _parse.default; - } -})); - -var _v = _interopRequireDefault(__nccwpck_require__(8628)); - -var _v2 = _interopRequireDefault(__nccwpck_require__(6409)); - -var _v3 = _interopRequireDefault(__nccwpck_require__(5122)); - -var _v4 = _interopRequireDefault(__nccwpck_require__(9120)); - -var _nil = _interopRequireDefault(__nccwpck_require__(5332)); - -var _version = _interopRequireDefault(__nccwpck_require__(1595)); - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - -var _parse = _interopRequireDefault(__nccwpck_require__(2746)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/***/ }), - -/***/ 4569: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function md5(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return _crypto.default.createHash('md5').update(bytes).digest(); -} - -var _default = md5; -exports["default"] = _default; - -/***/ }), - -/***/ 5332: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _default = '00000000-0000-0000-0000-000000000000'; -exports["default"] = _default; - -/***/ }), - -/***/ 2746: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function parse(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - - let v; - const arr = new Uint8Array(16); // Parse ########-....-....-....-............ - - arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; - arr[1] = v >>> 16 & 0xff; - arr[2] = v >>> 8 & 0xff; - arr[3] = v & 0xff; // Parse ........-####-....-....-............ - - arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; - arr[5] = v & 0xff; // Parse ........-....-####-....-............ - - arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; - arr[7] = v & 0xff; // Parse ........-....-....-####-............ - - arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; - arr[9] = v & 0xff; // Parse ........-....-....-....-############ - // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) - - arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; - arr[11] = v / 0x100000000 & 0xff; - arr[12] = v >>> 24 & 0xff; - arr[13] = v >>> 16 & 0xff; - arr[14] = v >>> 8 & 0xff; - arr[15] = v & 0xff; - return arr; -} - -var _default = parse; -exports["default"] = _default; - -/***/ }), - -/***/ 814: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; -exports["default"] = _default; - -/***/ }), - -/***/ 807: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = rng; - -var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate - -let poolPtr = rnds8Pool.length; - -function rng() { - if (poolPtr > rnds8Pool.length - 16) { - _crypto.default.randomFillSync(rnds8Pool); - - poolPtr = 0; - } - - return rnds8Pool.slice(poolPtr, poolPtr += 16); -} - -/***/ }), - -/***/ 5274: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _crypto = _interopRequireDefault(__nccwpck_require__(6113)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function sha1(bytes) { - if (Array.isArray(bytes)) { - bytes = Buffer.from(bytes); - } else if (typeof bytes === 'string') { - bytes = Buffer.from(bytes, 'utf8'); - } - - return _crypto.default.createHash('sha1').update(bytes).digest(); -} - -var _default = sha1; -exports["default"] = _default; - -/***/ }), - -/***/ 8950: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Convert array of 16 byte values to UUID string format of the form: - * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - */ -const byteToHex = []; - -for (let i = 0; i < 256; ++i) { - byteToHex.push((i + 0x100).toString(16).substr(1)); -} - -function stringify(arr, offset = 0) { - // Note: Be careful editing this code! It's been tuned for performance - // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 - const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one - // of the following: - // - One or more input array values don't map to a hex octet (leading to - // "undefined" in the uuid) - // - Invalid input values for the RFC `version` or `variant` fields - - if (!(0, _validate.default)(uuid)) { - throw TypeError('Stringified UUID is invalid'); - } - - return uuid; -} - -var _default = stringify; -exports["default"] = _default; - -/***/ }), - -/***/ 8628: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _rng = _interopRequireDefault(__nccwpck_require__(807)); - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// **`v1()` - Generate time-based UUID** -// -// Inspired by https://github.com/LiosK/UUID.js -// and http://docs.python.org/library/uuid.html -let _nodeId; - -let _clockseq; // Previous uuid creation time - - -let _lastMSecs = 0; -let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details - -function v1(options, buf, offset) { - let i = buf && offset || 0; - const b = buf || new Array(16); - options = options || {}; - let node = options.node || _nodeId; - let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not - // specified. We do this lazily to minimize issues related to insufficient - // system entropy. See #189 - - if (node == null || clockseq == null) { - const seedBytes = options.random || (options.rng || _rng.default)(); - - if (node == null) { - // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) - node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; - } - - if (clockseq == null) { - // Per 4.2.2, randomize (14 bit) clockseq - clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; - } - } // UUID timestamps are 100 nano-second units since the Gregorian epoch, - // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so - // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' - // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - - - let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock - // cycle to simulate higher resolution clock - - let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) - - const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression - - if (dt < 0 && options.clockseq === undefined) { - clockseq = clockseq + 1 & 0x3fff; - } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new - // time interval - - - if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { - nsecs = 0; - } // Per 4.2.1.2 Throw error if too many uuids are requested - - - if (nsecs >= 10000) { - throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); - } - - _lastMSecs = msecs; - _lastNSecs = nsecs; - _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch - - msecs += 12219292800000; // `time_low` - - const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; - b[i++] = tl >>> 24 & 0xff; - b[i++] = tl >>> 16 & 0xff; - b[i++] = tl >>> 8 & 0xff; - b[i++] = tl & 0xff; // `time_mid` - - const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; - b[i++] = tmh >>> 8 & 0xff; - b[i++] = tmh & 0xff; // `time_high_and_version` - - b[i++] = tmh >>> 24 & 0xf | 0x10; // include version - - b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) - - b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` - - b[i++] = clockseq & 0xff; // `node` - - for (let n = 0; n < 6; ++n) { - b[i + n] = node[n]; - } - - return buf || (0, _stringify.default)(b); -} - -var _default = v1; -exports["default"] = _default; - -/***/ }), - -/***/ 6409: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _v = _interopRequireDefault(__nccwpck_require__(5998)); - -var _md = _interopRequireDefault(__nccwpck_require__(4569)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const v3 = (0, _v.default)('v3', 0x30, _md.default); -var _default = v3; -exports["default"] = _default; - -/***/ }), - -/***/ 5998: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = _default; -exports.URL = exports.DNS = void 0; - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - -var _parse = _interopRequireDefault(__nccwpck_require__(2746)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function stringToBytes(str) { - str = unescape(encodeURIComponent(str)); // UTF8 escape - - const bytes = []; - - for (let i = 0; i < str.length; ++i) { - bytes.push(str.charCodeAt(i)); - } - - return bytes; -} - -const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; -exports.DNS = DNS; -const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; -exports.URL = URL; - -function _default(name, version, hashfunc) { - function generateUUID(value, namespace, buf, offset) { - if (typeof value === 'string') { - value = stringToBytes(value); - } - - if (typeof namespace === 'string') { - namespace = (0, _parse.default)(namespace); - } - - if (namespace.length !== 16) { - throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); - } // Compute hash of namespace and value, Per 4.3 - // Future: Use spread syntax when supported on all platforms, e.g. `bytes = - // hashfunc([...namespace, ... value])` - - - let bytes = new Uint8Array(16 + value.length); - bytes.set(namespace); - bytes.set(value, namespace.length); - bytes = hashfunc(bytes); - bytes[6] = bytes[6] & 0x0f | version; - bytes[8] = bytes[8] & 0x3f | 0x80; - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = bytes[i]; - } - - return buf; - } - - return (0, _stringify.default)(bytes); - } // Function#name is not settable on some platforms (#270) - - - try { - generateUUID.name = name; // eslint-disable-next-line no-empty - } catch (err) {} // For CommonJS default export support - - - generateUUID.DNS = DNS; - generateUUID.URL = URL; - return generateUUID; -} - -/***/ }), - -/***/ 5122: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _rng = _interopRequireDefault(__nccwpck_require__(807)); - -var _stringify = _interopRequireDefault(__nccwpck_require__(8950)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function v4(options, buf, offset) { - options = options || {}; - - const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` - - - rnds[6] = rnds[6] & 0x0f | 0x40; - rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided - - if (buf) { - offset = offset || 0; - - for (let i = 0; i < 16; ++i) { - buf[offset + i] = rnds[i]; - } - - return buf; - } - - return (0, _stringify.default)(rnds); -} - -var _default = v4; -exports["default"] = _default; - -/***/ }), - -/***/ 9120: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _v = _interopRequireDefault(__nccwpck_require__(5998)); - -var _sha = _interopRequireDefault(__nccwpck_require__(5274)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const v5 = (0, _v.default)('v5', 0x50, _sha.default); -var _default = v5; -exports["default"] = _default; - -/***/ }), - -/***/ 6900: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _regex = _interopRequireDefault(__nccwpck_require__(814)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function validate(uuid) { - return typeof uuid === 'string' && _regex.default.test(uuid); -} - -var _default = validate; -exports["default"] = _default; - -/***/ }), - -/***/ 1595: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; - -var _validate = _interopRequireDefault(__nccwpck_require__(6900)); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function version(uuid) { - if (!(0, _validate.default)(uuid)) { - throw TypeError('Invalid UUID'); - } - - return parseInt(uuid.substr(14, 1), 16); -} - -var _default = version; -exports["default"] = _default; - -/***/ }), - -/***/ 4886: -/***/ ((module) => { - -"use strict"; - - -var conversions = {}; -module.exports = conversions; - -function sign(x) { - return x < 0 ? -1 : 1; -} - -function evenRound(x) { - // Round x to the nearest integer, choosing the even integer if it lies halfway between two. - if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) - return Math.floor(x); - } else { - return Math.round(x); - } -} - -function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - - return function(V, opts) { - if (!opts) opts = {}; - - let x = +V; - - if (opts.enforceRange) { - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite number"); - } - - x = sign(x) * Math.floor(Math.abs(x)); - if (x < lowerBound || x > upperBound) { - throw new TypeError("Argument is not in byte range"); - } - - return x; - } - - if (!isNaN(x) && opts.clamp) { - x = evenRound(x); - - if (x < lowerBound) x = lowerBound; - if (x > upperBound) x = upperBound; - return x; - } - - if (!Number.isFinite(x) || x === 0) { - return 0; - } - - x = sign(x) * Math.floor(Math.abs(x)); - x = x % moduloVal; - - if (!typeOpts.unsigned && x >= moduloBound) { - return x - moduloVal; - } else if (typeOpts.unsigned) { - if (x < 0) { - x += moduloVal; - } else if (x === -0) { // don't return negative zero - return 0; - } - } - - return x; - } -} - -conversions["void"] = function () { - return undefined; -}; - -conversions["boolean"] = function (val) { - return !!val; -}; - -conversions["byte"] = createNumberConversion(8, { unsigned: false }); -conversions["octet"] = createNumberConversion(8, { unsigned: true }); - -conversions["short"] = createNumberConversion(16, { unsigned: false }); -conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - -conversions["long"] = createNumberConversion(32, { unsigned: false }); -conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); - -conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); -conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - -conversions["double"] = function (V) { - const x = +V; - - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite floating-point value"); - } - - return x; -}; - -conversions["unrestricted double"] = function (V) { - const x = +V; - - if (isNaN(x)) { - throw new TypeError("Argument is NaN"); - } - - return x; -}; - -// not quite valid, but good enough for JS -conversions["float"] = conversions["double"]; -conversions["unrestricted float"] = conversions["unrestricted double"]; - -conversions["DOMString"] = function (V, opts) { - if (!opts) opts = {}; - - if (opts.treatNullAsEmptyString && V === null) { - return ""; - } - - return String(V); -}; - -conversions["ByteString"] = function (V, opts) { - const x = String(V); - let c = undefined; - for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { - if (c > 255) { - throw new TypeError("Argument is not a valid bytestring"); - } - } - - return x; -}; - -conversions["USVString"] = function (V) { - const S = String(V); - const n = S.length; - const U = []; - for (let i = 0; i < n; ++i) { - const c = S.charCodeAt(i); - if (c < 0xD800 || c > 0xDFFF) { - U.push(String.fromCodePoint(c)); - } else if (0xDC00 <= c && c <= 0xDFFF) { - U.push(String.fromCodePoint(0xFFFD)); - } else { - if (i === n - 1) { - U.push(String.fromCodePoint(0xFFFD)); - } else { - const d = S.charCodeAt(i + 1); - if (0xDC00 <= d && d <= 0xDFFF) { - const a = c & 0x3FF; - const b = d & 0x3FF; - U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); - ++i; - } else { - U.push(String.fromCodePoint(0xFFFD)); - } - } - } - } - - return U.join(''); -}; - -conversions["Date"] = function (V, opts) { - if (!(V instanceof Date)) { - throw new TypeError("Argument is not a Date object"); - } - if (isNaN(V)) { - return undefined; - } - - return V; -}; - -conversions["RegExp"] = function (V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); - } - - return V; -}; - - -/***/ }), - -/***/ 7537: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - -const usm = __nccwpck_require__(2158); - -exports.implementation = class URLImpl { - constructor(constructorArgs) { - const url = constructorArgs[0]; - const base = constructorArgs[1]; - - let parsedBase = null; - if (base !== undefined) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === "failure") { - throw new TypeError("Invalid base URL"); - } - } - - const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - - this._url = parsedURL; - - // TODO: query stuff - } - - get href() { - return usm.serializeURL(this._url); - } - - set href(v) { - const parsedURL = usm.basicURLParse(v); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - - this._url = parsedURL; - } - - get origin() { - return usm.serializeURLOrigin(this._url); - } - - get protocol() { - return this._url.scheme + ":"; - } - - set protocol(v) { - usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); - } - - get username() { - return this._url.username; - } - - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - usm.setTheUsername(this._url, v); - } - - get password() { - return this._url.password; - } - - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - usm.setThePassword(this._url, v); - } - - get host() { - const url = this._url; - - if (url.host === null) { - return ""; - } - - if (url.port === null) { - return usm.serializeHost(url.host); - } - - return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); - } - - set host(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); - } - - get hostname() { - if (this._url.host === null) { - return ""; - } - - return usm.serializeHost(this._url.host); - } - - set hostname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); - } - - get port() { - if (this._url.port === null) { - return ""; - } - - return usm.serializeInteger(this._url.port); - } - - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - if (v === "") { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); - } - } - - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; - } - - if (this._url.path.length === 0) { - return ""; - } - - return "/" + this._url.path.join("/"); - } - - set pathname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); - } - - get search() { - if (this._url.query === null || this._url.query === "") { - return ""; - } - - return "?" + this._url.query; - } - - set search(v) { - // TODO: query stuff - - const url = this._url; - - if (v === "") { - url.query = null; - return; - } - - const input = v[0] === "?" ? v.substring(1) : v; - url.query = ""; - usm.basicURLParse(input, { url, stateOverride: "query" }); - } - - get hash() { - if (this._url.fragment === null || this._url.fragment === "") { - return ""; - } - - return "#" + this._url.fragment; - } - - set hash(v) { - if (v === "") { - this._url.fragment = null; - return; - } - - const input = v[0] === "#" ? v.substring(1) : v; - this._url.fragment = ""; - usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); - } - - toJSON() { - return this.href; - } -}; - - -/***/ }), - -/***/ 3394: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - - -const conversions = __nccwpck_require__(4886); -const utils = __nccwpck_require__(3185); -const Impl = __nccwpck_require__(7537); - -const impl = utils.implSymbol; - -function URL(url) { - if (!this || this[impl] || !(this instanceof URL)) { - throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); - } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; - } - args[0] = conversions["USVString"](args[0]); - if (args[1] !== undefined) { - args[1] = conversions["USVString"](args[1]); - } - - module.exports.setup(this, args); -} - -URL.prototype.toJSON = function toJSON() { - if (!this || !module.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; - } - return this[impl].toJSON.apply(this[impl], args); -}; -Object.defineProperty(URL.prototype, "href", { - get() { - return this[impl].href; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true -}); - -URL.prototype.toString = function () { - if (!this || !module.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - return this.href; -}; - -Object.defineProperty(URL.prototype, "origin", { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "protocol", { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "username", { - get() { - return this[impl].username; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "password", { - get() { - return this[impl].password; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "host", { - get() { - return this[impl].host; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "hostname", { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "port", { - get() { - return this[impl].port; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "pathname", { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "search", { - get() { - return this[impl].search; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "hash", { - get() { - return this[impl].hash; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hash = V; - }, - enumerable: true, - configurable: true -}); - - -module.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) privateData = {}; - privateData.wrapper = obj; - - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; - }, - interface: URL, - expose: { - Window: { URL: URL }, - Worker: { URL: URL } - } -}; - - - -/***/ }), - -/***/ 8665: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -exports.URL = __nccwpck_require__(3394)["interface"]; -exports.serializeURL = __nccwpck_require__(2158).serializeURL; -exports.serializeURLOrigin = __nccwpck_require__(2158).serializeURLOrigin; -exports.basicURLParse = __nccwpck_require__(2158).basicURLParse; -exports.setTheUsername = __nccwpck_require__(2158).setTheUsername; -exports.setThePassword = __nccwpck_require__(2158).setThePassword; -exports.serializeHost = __nccwpck_require__(2158).serializeHost; -exports.serializeInteger = __nccwpck_require__(2158).serializeInteger; -exports.parseURL = __nccwpck_require__(2158).parseURL; - - -/***/ }), - -/***/ 2158: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -"use strict"; - -const punycode = __nccwpck_require__(5477); -const tr46 = __nccwpck_require__(4256); - -const specialSchemes = { - ftp: 21, - file: null, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; - -const failure = Symbol("failure"); - -function countSymbols(str) { - return punycode.ucs2.decode(str).length; -} - -function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? undefined : String.fromCodePoint(c); -} - -function isASCIIDigit(c) { - return c >= 0x30 && c <= 0x39; -} - -function isASCIIAlpha(c) { - return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); -} - -function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); -} - -function isASCIIHex(c) { - return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); -} - -function isSingleDot(buffer) { - return buffer === "." || buffer.toLowerCase() === "%2e"; -} - -function isDoubleDot(buffer) { - buffer = buffer.toLowerCase(); - return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; -} - -function isWindowsDriveLetterCodePoints(cp1, cp2) { - return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); -} - -function isWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); -} - -function isNormalizedWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; -} - -function containsForbiddenHostCodePoint(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; -} - -function containsForbiddenHostCodePointExcludingPercent(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; -} - -function isSpecialScheme(scheme) { - return specialSchemes[scheme] !== undefined; -} - -function isSpecial(url) { - return isSpecialScheme(url.scheme); -} - -function defaultPort(scheme) { - return specialSchemes[scheme]; -} - -function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); - if (hex.length === 1) { - hex = "0" + hex; - } - - return "%" + hex; -} - -function utf8PercentEncode(c) { - const buf = new Buffer(c); - - let str = ""; - - for (let i = 0; i < buf.length; ++i) { - str += percentEncode(buf[i]); - } - - return str; -} - -function utf8PercentDecode(str) { - const input = new Buffer(str); - const output = []; - for (let i = 0; i < input.length; ++i) { - if (input[i] !== 37) { - output.push(input[i]); - } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { - output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); - i += 2; - } else { - output.push(input[i]); - } - } - return new Buffer(output).toString(); -} - -function isC0ControlPercentEncode(c) { - return c <= 0x1F || c > 0x7E; -} - -const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); -function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); -} - -const extraUserinfoPercentEncodeSet = - new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); -function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); -} - -function percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - - if (encodeSetPredicate(c)) { - return utf8PercentEncode(cStr); - } - - return cStr; -} - -function parseIPv4Number(input) { - let R = 10; - - if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { - input = input.substring(2); - R = 16; - } else if (input.length >= 2 && input.charAt(0) === "0") { - input = input.substring(1); - R = 8; - } - - if (input === "") { - return 0; - } - - const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); - if (regex.test(input)) { - return failure; - } - - return parseInt(input, R); -} - -function parseIPv4(input) { - const parts = input.split("."); - if (parts[parts.length - 1] === "") { - if (parts.length > 1) { - parts.pop(); - } - } - - if (parts.length > 4) { - return input; - } - - const numbers = []; - for (const part of parts) { - if (part === "") { - return input; - } - const n = parseIPv4Number(part); - if (n === failure) { - return input; - } - - numbers.push(n); - } - - for (let i = 0; i < numbers.length - 1; ++i) { - if (numbers[i] > 255) { - return failure; - } - } - if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { - return failure; - } - - let ipv4 = numbers.pop(); - let counter = 0; - - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); - ++counter; - } - - return ipv4; -} - -function serializeIPv4(address) { - let output = ""; - let n = address; - - for (let i = 1; i <= 4; ++i) { - output = String(n % 256) + output; - if (i !== 4) { - output = "." + output; - } - n = Math.floor(n / 256); - } - - return output; -} - -function parseIPv6(input) { - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - let pointer = 0; - - input = punycode.ucs2.decode(input); - - if (input[pointer] === 58) { - if (input[pointer + 1] !== 58) { - return failure; - } - - pointer += 2; - ++pieceIndex; - compress = pieceIndex; - } - - while (pointer < input.length) { - if (pieceIndex === 8) { - return failure; - } - - if (input[pointer] === 58) { - if (compress !== null) { - return failure; - } - ++pointer; - ++pieceIndex; - compress = pieceIndex; - continue; - } - - let value = 0; - let length = 0; - - while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 0x10 + parseInt(at(input, pointer), 16); - ++pointer; - ++length; - } - - if (input[pointer] === 46) { - if (length === 0) { - return failure; - } - - pointer -= length; - - if (pieceIndex > 6) { - return failure; - } - - let numbersSeen = 0; - - while (input[pointer] !== undefined) { - let ipv4Piece = null; - - if (numbersSeen > 0) { - if (input[pointer] === 46 && numbersSeen < 4) { - ++pointer; - } else { - return failure; - } - } - - if (!isASCIIDigit(input[pointer])) { - return failure; - } - - while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); - if (ipv4Piece === null) { - ipv4Piece = number; - } else if (ipv4Piece === 0) { - return failure; - } else { - ipv4Piece = ipv4Piece * 10 + number; - } - if (ipv4Piece > 255) { - return failure; - } - ++pointer; - } - - address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; - - ++numbersSeen; - - if (numbersSeen === 2 || numbersSeen === 4) { - ++pieceIndex; - } - } - - if (numbersSeen !== 4) { - return failure; - } - - break; - } else if (input[pointer] === 58) { - ++pointer; - if (input[pointer] === undefined) { - return failure; - } - } else if (input[pointer] !== undefined) { - return failure; - } - - address[pieceIndex] = value; - ++pieceIndex; - } - - if (compress !== null) { - let swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex !== 0 && swaps > 0) { - const temp = address[compress + swaps - 1]; - address[compress + swaps - 1] = address[pieceIndex]; - address[pieceIndex] = temp; - --pieceIndex; - --swaps; - } - } else if (compress === null && pieceIndex !== 8) { - return failure; - } - - return address; -} - -function serializeIPv6(address) { - let output = ""; - const seqResult = findLongestZeroSequence(address); - const compress = seqResult.idx; - let ignore0 = false; - - for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { - if (ignore0 && address[pieceIndex] === 0) { - continue; - } else if (ignore0) { - ignore0 = false; - } - - if (compress === pieceIndex) { - const separator = pieceIndex === 0 ? "::" : ":"; - output += separator; - ignore0 = true; - continue; - } - - output += address[pieceIndex].toString(16); - - if (pieceIndex !== 7) { - output += ":"; - } - } - - return output; -} - -function parseHost(input, isSpecialArg) { - if (input[0] === "[") { - if (input[input.length - 1] !== "]") { - return failure; - } - - return parseIPv6(input.substring(1, input.length - 1)); - } - - if (!isSpecialArg) { - return parseOpaqueHost(input); - } - - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; - } - - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === "number" || ipv4Host === failure) { - return ipv4Host; - } - - return asciiDomain; -} - -function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; - } - - let output = ""; - const decoded = punycode.ucs2.decode(input); - for (let i = 0; i < decoded.length; ++i) { - output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); - } - return output; -} - -function findLongestZeroSequence(arr) { - let maxIdx = null; - let maxLen = 1; // only find elements > 1 - let currStart = null; - let currLen = 0; - - for (let i = 0; i < arr.length; ++i) { - if (arr[i] !== 0) { - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - - currStart = null; - currLen = 0; - } else { - if (currStart === null) { - currStart = i; - } - ++currLen; - } - } - - // if trailing zeros - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - - return { - idx: maxIdx, - len: maxLen - }; -} - -function serializeHost(host) { - if (typeof host === "number") { - return serializeIPv4(host); - } - - // IPv6 serializer - if (host instanceof Array) { - return "[" + serializeIPv6(host) + "]"; - } - - return host; -} - -function trimControlChars(url) { - return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); -} - -function trimTabAndNewline(url) { - return url.replace(/\u0009|\u000A|\u000D/g, ""); -} - -function shortenPath(url) { - const path = url.path; - if (path.length === 0) { - return; - } - if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { - return; - } - - path.pop(); -} - -function includesCredentials(url) { - return url.username !== "" || url.password !== ""; -} - -function cannotHaveAUsernamePasswordPort(url) { - return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; -} - -function isNormalizedWindowsDriveLetter(string) { - return /^[A-Za-z]:$/.test(string); -} - -function URLStateMachine(input, base, encodingOverride, url, stateOverride) { - this.pointer = 0; - this.input = input; - this.base = base || null; - this.encodingOverride = encodingOverride || "utf-8"; - this.stateOverride = stateOverride; - this.url = url; - this.failure = false; - this.parseError = false; - - if (!this.url) { - this.url = { - scheme: "", - username: "", - password: "", - host: null, - port: null, - path: [], - query: null, - fragment: null, - - cannotBeABaseURL: false - }; - - const res = trimControlChars(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - } - - const res = trimTabAndNewline(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - - this.state = stateOverride || "scheme start"; - - this.buffer = ""; - this.atFlag = false; - this.arrFlag = false; - this.passwordTokenSeenFlag = false; - - this.input = punycode.ucs2.decode(this.input); - - for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); - - // exec state machine - const ret = this["parse " + this.state](c, cStr); - if (!ret) { - break; // terminate algorithm - } else if (ret === failure) { - this.failure = true; - break; - } - } -} - -URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { - this.buffer += cStr.toLowerCase(); - this.state = "scheme"; - } else if (!this.stateOverride) { - this.state = "no scheme"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - - return true; -}; - -URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { - this.buffer += cStr.toLowerCase(); - } else if (c === 58) { - if (this.stateOverride) { - if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { - return false; - } - - if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { - return false; - } - - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { - return false; - } - - if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { - return false; - } - } - this.url.scheme = this.buffer; - this.buffer = ""; - if (this.stateOverride) { - return false; - } - if (this.url.scheme === "file") { - if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { - this.parseError = true; - } - this.state = "file"; - } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { - this.state = "special relative or authority"; - } else if (isSpecial(this.url)) { - this.state = "special authority slashes"; - } else if (this.input[this.pointer + 1] === 47) { - this.state = "path or authority"; - ++this.pointer; - } else { - this.url.cannotBeABaseURL = true; - this.url.path.push(""); - this.state = "cannot-be-a-base-URL path"; - } - } else if (!this.stateOverride) { - this.buffer = ""; - this.state = "no scheme"; - this.pointer = -1; - } else { - this.parseError = true; - return failure; - } - - return true; -}; - -URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { - if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { - return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { - this.url.scheme = this.base.scheme; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.url.cannotBeABaseURL = true; - this.state = "fragment"; - } else if (this.base.scheme === "file") { - this.state = "file"; - --this.pointer; - } else { - this.state = "relative"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "relative"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { - if (c === 47) { - this.state = "authority"; - } else { - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse relative"] = function parseRelative(c) { - this.url.scheme = this.base.scheme; - if (isNaN(c)) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 47) { - this.state = "relative slash"; - } else if (c === 63) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else if (isSpecial(this.url) && c === 92) { - this.parseError = true; - this.state = "relative slash"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(0, this.base.path.length - 1); - - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { - this.parseError = true; - } - this.state = "special authority ignore slashes"; - } else if (c === 47) { - this.state = "authority"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "special authority ignore slashes"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { - this.state = "authority"; - --this.pointer; - } else { - this.parseError = true; - } - - return true; -}; - -URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { - if (c === 64) { - this.parseError = true; - if (this.atFlag) { - this.buffer = "%40" + this.buffer; - } - this.atFlag = true; - - // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars - const len = countSymbols(this.buffer); - for (let pointer = 0; pointer < len; ++pointer) { - const codePoint = this.buffer.codePointAt(pointer); - - if (codePoint === 58 && !this.passwordTokenSeenFlag) { - this.passwordTokenSeenFlag = true; - continue; - } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; - } - } - this.buffer = ""; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || - (isSpecial(this.url) && c === 92)) { - if (this.atFlag && this.buffer === "") { - this.parseError = true; - return failure; - } - this.pointer -= countSymbols(this.buffer) + 1; - this.buffer = ""; - this.state = "host"; - } else { - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse hostname"] = -URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { - if (this.stateOverride && this.url.scheme === "file") { - --this.pointer; - this.state = "file host"; - } else if (c === 58 && !this.arrFlag) { - if (this.buffer === "") { - this.parseError = true; - return failure; - } - - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - - this.url.host = host; - this.buffer = ""; - this.state = "port"; - if (this.stateOverride === "hostname") { - return false; - } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || - (isSpecial(this.url) && c === 92)) { - --this.pointer; - if (isSpecial(this.url) && this.buffer === "") { - this.parseError = true; - return failure; - } else if (this.stateOverride && this.buffer === "" && - (includesCredentials(this.url) || this.url.port !== null)) { - this.parseError = true; - return false; - } - - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - - this.url.host = host; - this.buffer = ""; - this.state = "path start"; - if (this.stateOverride) { - return false; - } - } else { - if (c === 91) { - this.arrFlag = true; - } else if (c === 93) { - this.arrFlag = false; - } - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { - this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || - (isSpecial(this.url) && c === 92) || - this.stateOverride) { - if (this.buffer !== "") { - const port = parseInt(this.buffer); - if (port > Math.pow(2, 16) - 1) { - this.parseError = true; - return failure; - } - this.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ""; - } - if (this.stateOverride) { - return false; - } - this.state = "path start"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - - return true; -}; - -const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); - -URLStateMachine.prototype["parse file"] = function parseFile(c) { - this.url.scheme = "file"; - - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = "file slash"; - } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c)) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 63) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else { - if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points - !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || - (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points - !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - shortenPath(this.url); - } else { - this.parseError = true; - } - - this.state = "path"; - --this.pointer; - } - } else { - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = "file host"; - } else { - if (this.base !== null && this.base.scheme === "file") { - if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { - this.url.path.push(this.base.path[0]); - } else { - this.url.host = this.base.host; - } - } - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { - --this.pointer; - if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { - this.parseError = true; - this.state = "path"; - } else if (this.buffer === "") { - this.url.host = ""; - if (this.stateOverride) { - return false; - } - this.state = "path start"; - } else { - let host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - if (host === "localhost") { - host = ""; - } - this.url.host = host; - - if (this.stateOverride) { - return false; - } - - this.buffer = ""; - this.state = "path start"; - } - } else { - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { - if (isSpecial(this.url)) { - if (c === 92) { - this.parseError = true; - } - this.state = "path"; - - if (c !== 47 && c !== 92) { - --this.pointer; - } - } else if (!this.stateOverride && c === 63) { - this.url.query = ""; - this.state = "query"; - } else if (!this.stateOverride && c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else if (c !== undefined) { - this.state = "path"; - if (c !== 47) { - --this.pointer; - } - } - - return true; -}; - -URLStateMachine.prototype["parse path"] = function parsePath(c) { - if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || - (!this.stateOverride && (c === 63 || c === 35))) { - if (isSpecial(this.url) && c === 92) { - this.parseError = true; - } - - if (isDoubleDot(this.buffer)) { - shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(""); - } - } else if (isSingleDot(this.buffer) && c !== 47 && - !(isSpecial(this.url) && c === 92)) { - this.url.path.push(""); - } else if (!isSingleDot(this.buffer)) { - if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { - if (this.url.host !== "" && this.url.host !== null) { - this.parseError = true; - this.url.host = ""; - } - this.buffer = this.buffer[0] + ":"; - } - this.url.path.push(this.buffer); - } - this.buffer = ""; - if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { - while (this.url.path.length > 1 && this.url.path[0] === "") { - this.parseError = true; - this.url.path.shift(); - } - } - if (c === 63) { - this.url.query = ""; - this.state = "query"; - } - if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - // TODO: If c is not a URL code point and not "%", parse error. - - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - this.buffer += percentEncodeChar(c, isPathPercentEncode); - } - - return true; -}; - -URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else { - // TODO: Add: not a URL code point - if (!isNaN(c) && c !== 37) { - this.parseError = true; - } - - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); - } - } - - return true; -}; - -URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { - if (isNaN(c) || (!this.stateOverride && c === 35)) { - if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { - this.encodingOverride = "utf-8"; - } - - const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead - for (let i = 0; i < buffer.length; ++i) { - if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || - buffer[i] === 0x3C || buffer[i] === 0x3E) { - this.url.query += percentEncode(buffer[i]); - } else { - this.url.query += String.fromCodePoint(buffer[i]); - } - } - - this.buffer = ""; - if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - // TODO: If c is not a URL code point and not "%", parse error. - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { - if (isNaN(c)) { // do nothing - } else if (c === 0x0) { - this.parseError = true; - } else { - // TODO: If c is not a URL code point and not "%", parse error. - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); - } - - return true; -}; - -function serializeURL(url, excludeFragment) { - let output = url.scheme + ":"; - if (url.host !== null) { - output += "//"; - - if (url.username !== "" || url.password !== "") { - output += url.username; - if (url.password !== "") { - output += ":" + url.password; - } - output += "@"; - } - - output += serializeHost(url.host); - - if (url.port !== null) { - output += ":" + url.port; - } - } else if (url.host === null && url.scheme === "file") { - output += "//"; - } - - if (url.cannotBeABaseURL) { - output += url.path[0]; - } else { - for (const string of url.path) { - output += "/" + string; - } - } - - if (url.query !== null) { - output += "?" + url.query; - } - - if (!excludeFragment && url.fragment !== null) { - output += "#" + url.fragment; - } - - return output; -} - -function serializeOrigin(tuple) { - let result = tuple.scheme + "://"; - result += serializeHost(tuple.host); - - if (tuple.port !== null) { - result += ":" + tuple.port; - } - - return result; -} - -module.exports.serializeURL = serializeURL; - -module.exports.serializeURLOrigin = function (url) { - // https://url.spec.whatwg.org/#concept-url-origin - switch (url.scheme) { - case "blob": - try { - return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); - } catch (e) { - // serializing an opaque origin returns "null" - return "null"; - } - case "ftp": - case "gopher": - case "http": - case "https": - case "ws": - case "wss": - return serializeOrigin({ - scheme: url.scheme, - host: url.host, - port: url.port - }); - case "file": - // spec says "exercise to the reader", chrome says "file://" - return "file://"; - default: - // serializing an opaque origin returns "null" - return "null"; - } -}; - -module.exports.basicURLParse = function (input, options) { - if (options === undefined) { - options = {}; - } - - const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); - if (usm.failure) { - return "failure"; - } - - return usm.url; -}; - -module.exports.setTheUsername = function (url, username) { - url.username = ""; - const decoded = punycode.ucs2.decode(username); - for (let i = 0; i < decoded.length; ++i) { - url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } -}; - -module.exports.setThePassword = function (url, password) { - url.password = ""; - const decoded = punycode.ucs2.decode(password); - for (let i = 0; i < decoded.length; ++i) { - url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } -}; - -module.exports.serializeHost = serializeHost; - -module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; - -module.exports.serializeInteger = function (integer) { - return String(integer); -}; - -module.exports.parseURL = function (input, options) { - if (options === undefined) { - options = {}; - } - - // We don't handle blobs, so this just delegates: - return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); -}; - - -/***/ }), - -/***/ 3185: -/***/ ((module) => { - -"use strict"; - - -module.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); - } -}; - -module.exports.wrapperSymbol = Symbol("wrapper"); -module.exports.implSymbol = Symbol("impl"); - -module.exports.wrapperForImpl = function (impl) { - return impl[module.exports.wrapperSymbol]; -}; - -module.exports.implForWrapper = function (wrapper) { - return wrapper[module.exports.implSymbol]; -}; - - - -/***/ }), - -/***/ 2940: -/***/ ((module) => { - -// Returns a wrapper function that returns a wrapped callback -// The wrapper function should do some stuff, and return a -// presumably different callback function. -// This makes sure that own properties are retained, so that -// decorations and such are not lost along the way. -module.exports = wrappy -function wrappy (fn, cb) { - if (fn && cb) return wrappy(fn)(cb) - - if (typeof fn !== 'function') - throw new TypeError('need wrapper function') - - Object.keys(fn).forEach(function (k) { - wrapper[k] = fn[k] - }) - - return wrapper - - function wrapper() { - var args = new Array(arguments.length) - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i] - } - var ret = fn.apply(this, args) - var cb = args[args.length-1] - if (typeof ret === 'function' && ret !== cb) { - Object.keys(cb).forEach(function (k) { - ret[k] = cb[k] - }) - } - return ret - } -} - - -/***/ }), - -/***/ 2877: -/***/ ((module) => { - -module.exports = eval("require")("encoding"); - - -/***/ }), - -/***/ 9491: -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ 2081: -/***/ ((module) => { - -"use strict"; -module.exports = require("child_process"); - -/***/ }), - -/***/ 6113: -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ 2361: -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ 7147: -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ 3685: -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ 5687: -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ 1808: -/***/ ((module) => { - -"use strict"; -module.exports = require("net"); - -/***/ }), - -/***/ 2037: -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ 1017: -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ 5477: -/***/ ((module) => { - -"use strict"; -module.exports = require("punycode"); - -/***/ }), - -/***/ 2781: -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ 4404: -/***/ ((module) => { - -"use strict"; -module.exports = require("tls"); - -/***/ }), - -/***/ 7310: -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ 3837: -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ 9796: -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ 1542: -/***/ ((module) => { - -"use strict"; -module.exports = JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}'); - -/***/ }), - -/***/ 2020: -/***/ ((module) => { - -"use strict"; -module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]'); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __nccwpck_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nccwpck_require__); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete __webpack_module_cache__[moduleId]; -/******/ } -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat */ -/******/ -/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/"; -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __webpack_exports__ = __nccwpck_require__(3109); -/******/ module.exports = __webpack_exports__; -/******/ -/******/ })() -; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map deleted file mode 100644 index a0038067..00000000 --- a/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACllCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1vDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChMA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;AEDA;AACA;AACA;AACA","sources":["../webpack://slo-tests/./lib/callExecutables.js","../webpack://slo-tests/./lib/checkResults.js","../webpack://slo-tests/./lib/cluster.js","../webpack://slo-tests/./lib/errorScheduler.js","../webpack://slo-tests/./lib/getInfrastractureEndpoints.js","../webpack://slo-tests/./lib/grafanaScreenshot.js","../webpack://slo-tests/./lib/main.js","../webpack://slo-tests/./lib/mutex.js","../webpack://slo-tests/./lib/parseArguments.js","../webpack://slo-tests/./lib/utils/groupDecorator.js","../webpack://slo-tests/./lib/utils/retry.js","../webpack://slo-tests/./lib/utils/withTimeout.js","../webpack://slo-tests/./lib/workload.js","../webpack://slo-tests/./node_modules/@actions/core/lib/command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/core.js","../webpack://slo-tests/./node_modules/@actions/core/lib/file-command.js","../webpack://slo-tests/./node_modules/@actions/core/lib/oidc-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/path-utils.js","../webpack://slo-tests/./node_modules/@actions/core/lib/summary.js","../webpack://slo-tests/./node_modules/@actions/core/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/context.js","../webpack://slo-tests/./node_modules/@actions/github/lib/github.js","../webpack://slo-tests/./node_modules/@actions/github/lib/internal/utils.js","../webpack://slo-tests/./node_modules/@actions/github/lib/utils.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/auth.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/index.js","../webpack://slo-tests/./node_modules/@actions/http-client/lib/proxy.js","../webpack://slo-tests/./node_modules/@octokit/auth-token/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/core/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/endpoint/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/graphql/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request-error/dist-node/index.js","../webpack://slo-tests/./node_modules/@octokit/request/dist-node/index.js","../webpack://slo-tests/./node_modules/before-after-hook/index.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/add.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/register.js","../webpack://slo-tests/./node_modules/before-after-hook/lib/remove.js","../webpack://slo-tests/./node_modules/deprecation/dist-node/index.js","../webpack://slo-tests/./node_modules/is-plain-object/dist/is-plain-object.js","../webpack://slo-tests/./node_modules/node-fetch/lib/index.js","../webpack://slo-tests/./node_modules/once/once.js","../webpack://slo-tests/./node_modules/tr46/index.js","../webpack://slo-tests/./node_modules/tunnel/index.js","../webpack://slo-tests/./node_modules/tunnel/lib/tunnel.js","../webpack://slo-tests/./node_modules/universal-user-agent/dist-node/index.js","../webpack://slo-tests/./node_modules/uuid/dist/index.js","../webpack://slo-tests/./node_modules/uuid/dist/md5.js","../webpack://slo-tests/./node_modules/uuid/dist/nil.js","../webpack://slo-tests/./node_modules/uuid/dist/parse.js","../webpack://slo-tests/./node_modules/uuid/dist/regex.js","../webpack://slo-tests/./node_modules/uuid/dist/rng.js","../webpack://slo-tests/./node_modules/uuid/dist/sha1.js","../webpack://slo-tests/./node_modules/uuid/dist/stringify.js","../webpack://slo-tests/./node_modules/uuid/dist/v1.js","../webpack://slo-tests/./node_modules/uuid/dist/v3.js","../webpack://slo-tests/./node_modules/uuid/dist/v35.js","../webpack://slo-tests/./node_modules/uuid/dist/v4.js","../webpack://slo-tests/./node_modules/uuid/dist/v5.js","../webpack://slo-tests/./node_modules/uuid/dist/validate.js","../webpack://slo-tests/./node_modules/uuid/dist/version.js","../webpack://slo-tests/./node_modules/webidl-conversions/lib/index.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL-impl.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/URL.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/public-api.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/url-state-machine.js","../webpack://slo-tests/./node_modules/whatwg-url/lib/utils.js","../webpack://slo-tests/./node_modules/wrappy/wrappy.js","../webpack://slo-tests/./node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../webpack://slo-tests/external node-commonjs \"assert\"","../webpack://slo-tests/external node-commonjs \"child_process\"","../webpack://slo-tests/external node-commonjs \"crypto\"","../webpack://slo-tests/external node-commonjs \"events\"","../webpack://slo-tests/external node-commonjs \"fs\"","../webpack://slo-tests/external node-commonjs \"http\"","../webpack://slo-tests/external node-commonjs \"https\"","../webpack://slo-tests/external node-commonjs \"net\"","../webpack://slo-tests/external node-commonjs \"os\"","../webpack://slo-tests/external node-commonjs \"path\"","../webpack://slo-tests/external node-commonjs \"punycode\"","../webpack://slo-tests/external node-commonjs \"stream\"","../webpack://slo-tests/external node-commonjs \"tls\"","../webpack://slo-tests/external node-commonjs \"url\"","../webpack://slo-tests/external node-commonjs \"util\"","../webpack://slo-tests/external node-commonjs \"zlib\"","../webpack://slo-tests/webpack/bootstrap","../webpack://slo-tests/webpack/runtime/compat","../webpack://slo-tests/webpack/before-startup","../webpack://slo-tests/webpack/startup","../webpack://slo-tests/webpack/after-startup"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.callKubernetesPathAsync = exports.callKubernetesAsync = exports.callKubernetesPath = exports.callKubernetes = exports.callAsync = exports.call = exports.prepareAWS = exports.prepareK8S = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst child_process_1 = require(\"child_process\");\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nconst path_1 = __importDefault(require(\"path\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nlet kubectlPath = null;\nlet callId = 0;\nfunction prepareK8S(base64kubeconfig) {\n return (0, groupDecorator_1.logGroup)('Prepare k8s', () => {\n // create ~/.kube folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.kube');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add kubeconfig\n if (base64kubeconfig.length > 0) {\n core.debug('Get kubeconfig string');\n const kubeconfig = Buffer.from(base64kubeconfig, 'base64').toString('utf8');\n core.info(`Write kubeconfig to ~/.kube/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.kube/config'), kubeconfig);\n }\n kubectlPath = call('which kubectl').split('\\n')[0];\n core.info(`kubectl path: ${kubectlPath}`);\n });\n}\nexports.prepareK8S = prepareK8S;\nfunction prepareAWS(awsCredentialsB64, awsConfigB64) {\n // create ~/.aws folder\n const kubePath = path_1.default.join((0, os_1.homedir)(), '.aws');\n core.info(`mkdir ${kubePath}`);\n try {\n (0, fs_1.mkdirSync)(kubePath);\n }\n catch (error) {\n core.debug('error' + JSON.stringify(error));\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EEXIST') {\n core.debug(kubePath + ' EEXIST');\n }\n else\n throw error;\n }\n // add awsCredentials\n if (awsCredentialsB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsCredentials = Buffer.from(awsCredentialsB64, 'base64').toString('utf8');\n core.info(`Write awsCredentials to ~/.aws/credentials`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/credentials'), awsCredentials);\n }\n // add awsConfig\n if (awsConfigB64.length > 0) {\n core.debug('Get aws credentials string');\n const awsConfig = Buffer.from(awsConfigB64, 'base64').toString('utf8');\n core.info(`Write awsConfig to ~/.aws/config`);\n (0, fs_1.writeFileSync)(path_1.default.join((0, os_1.homedir)(), '.aws/config'), awsConfig);\n }\n}\nexports.prepareAWS = prepareAWS;\nfunction call(command, secret = false) {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const spawnResult = (0, child_process_1.execSync)(command, { encoding: 'utf8', stdio: 'pipe' });\n core.debug(`Call #${id} result ${spawnResult}`);\n return spawnResult;\n}\nexports.call = call;\nfunction callAsync(command, secret = false, cwd = '.') {\n return new Promise((resolve, reject) => {\n const id = ++callId;\n !secret && core.info(`Call #${id} command: '${command}'`);\n const proc = (0, child_process_1.exec)(command, { encoding: 'utf8', cwd });\n if (!proc.stdio || !proc.stdout || !proc.stderr) {\n core.info(`Error in callAsync #${id}: can't spawn process`);\n throw new Error(`Error in callAsync #${id}: can't spawn process`);\n }\n let out = '', err = '';\n proc.stdout.on('data', data => (out += data.toString()));\n proc.stderr.on('data', data => (err += data.toString()));\n proc.on('close', code => {\n core.debug(`Call #${id} async code = ${code}`);\n if (code == 0) {\n core.debug(`Call #${id} async output \\n${out}`);\n resolve(out);\n }\n else {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on close`);\n else\n core.debug(`Call #${id} async failed - on close:\\n${err}`);\n reject(new Error(err));\n }\n });\n proc.on('error', err => {\n if (secret)\n core.debug(`Call #${id} async with secrets failed - on error`);\n else\n core.debug(`Call #${id} async failed - on error:\\n${err}`);\n reject(err);\n });\n });\n}\nexports.callAsync = callAsync;\nfunction callKubernetes(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(`${kubectlPath} ${command}`);\n}\nexports.callKubernetes = callKubernetes;\nfunction callKubernetesPath(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return call(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPath = callKubernetesPath;\nfunction callKubernetesAsync(command) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(`${kubectlPath} ${command}`);\n}\nexports.callKubernetesAsync = callKubernetesAsync;\nfunction callKubernetesPathAsync(commandGenerator) {\n if (kubectlPath === null)\n throw new Error('K8s not initialized, call prepareK8S first');\n return callAsync(commandGenerator(kubectlPath));\n}\nexports.callKubernetesPathAsync = callKubernetesPathAsync;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkResults = exports.checkGraphValues = exports.filterGraphData = exports.parseRawGraph = exports.getDataFromGrafana = exports.getUUID = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nfunction getUUID() {\n const hexstring = crypto_1.default.randomBytes(16).toString('hex');\n return (hexstring.substring(0, 8) +\n '-' +\n hexstring.substring(8, 12) +\n '-' +\n hexstring.substring(12, 16) +\n '-' +\n hexstring.substring(16, 20) +\n '-' +\n hexstring.substring(20));\n}\nexports.getUUID = getUUID;\nfunction getDataFromGrafana(fromDate, toDate, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = {\n queries: queries.map((q, i) => (Object.assign(Object.assign({ refId: q.refId, expr: q.expr, key: `Q-${getUUID()}-${i}`, \n // requestId: `Q-${getUUID()}-${i}`,\n interval: q.interval }, (q.format ? { format: q.format } : {})), { datasource: {\n type: 'prometheus',\n uid: 'prometheus'\n }, editorMode: 'code', legendFormat: '__auto', range: false, instant: true, exemplar: false, hide: false, queryType: 'timeSeriesQuery', utcOffsetSec: 14400, datasourceId: 1, intervalMs: 5000, maxDataPoints: 1514 }))),\n range: {\n from: fromDate.toISOString(),\n to: toDate.toISOString(),\n raw: {\n from: fromDate.toISOString(),\n to: toDate.toISOString()\n }\n },\n from: '' + fromDate.valueOf(),\n to: '' + toDate.valueOf()\n };\n let requestId = data.queries.reduce((acc, v) => (acc += v.key), '');\n data.queries = data.queries.map(q => (Object.assign({ requestId: `${requestId}${q.refId}` }, q)));\n let busyboxCmd = `wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(data)}' 'http://grafana/api/ds/query' | base64`;\n busyboxCmd = busyboxCmd.replace(/'/g, \"'\\\\''\");\n core.debug(`getDataFromGrafana kube request:\\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${busyboxCmd}'`);\n return Buffer.from(yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil((Math.random() * 1000) % 1000)} --restart=Never -- sh -c '${busyboxCmd}'`), 'base64').toString('utf8');\n });\n}\nexports.getDataFromGrafana = getDataFromGrafana;\nfunction parseRawGraph(dataString) {\n const data = JSON.parse(dataString);\n core.debug('Parsed JSON graph data ' + JSON.stringify(data));\n const keys = Object.keys(data.results);\n core.debug('Process graph data');\n return keys.reduce((acc, k) => {\n acc[k] = data.results[k].frames.map((f) => {\n var _a, _b, _c, _d, _e, _f;\n return ({\n value: (_c = (_b = (_a = f === null || f === void 0 ? void 0 : f.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[1]) === null || _c === void 0 ? void 0 : _c[0],\n labels: (_f = (_e = (_d = f === null || f === void 0 ? void 0 : f.schema) === null || _d === void 0 ? void 0 : _d.fields) === null || _e === void 0 ? void 0 : _e[1]) === null || _f === void 0 ? void 0 : _f.labels\n });\n });\n return acc;\n }, {});\n}\nexports.parseRawGraph = parseRawGraph;\nfunction filterGraphData(filter) {\n return function filterGraphFun(result) {\n return Object.entries(filter).reduce((prev, filt) => {\n return prev && result.labels[filt[0]] === filt[1];\n }, true);\n };\n}\nexports.filterGraphData = filterGraphData;\nfunction checkGraphValues(workloadId, realResults, desiredResults) {\n // let results: {[k: keyof IDesiredResults]: {decision: boolean; text: string}[]}\n let checks = [];\n for (const queryName of Object.keys(desiredResults)) {\n const result = realResults[queryName];\n const desired = desiredResults[queryName];\n for (const desiredRes of desired) {\n const filter = Object.assign({ job: `workload-${workloadId}` }, desiredRes.filter);\n let inspected = (result || []).filter(filterGraphData(filter));\n const checkName = `${queryName}${JSON.stringify(filter)}`;\n if (inspected.length === 0) {\n checks.push([\n checkName,\n 'notfound',\n `Not found results by filter to inspect`\n ]);\n }\n else {\n for (const [i, inspectedRes] of Object.entries(inspected)) {\n const decision = desiredRes.value[0] === '>'\n ? inspectedRes.value > desiredRes.value[1]\n : inspectedRes.value < desiredRes.value[1];\n checks.push([\n `${checkName}[${i}]`,\n decision ? 'ok' : 'error',\n `${inspectedRes.value} ${decision ? '' : '!'}${desiredRes.value[0]} ${desiredRes.value[1]}`\n ]);\n }\n }\n }\n }\n return checks;\n}\nexports.checkGraphValues = checkGraphValues;\nfunction checkResults(octokit, workloadId, fromDate, toDate, desiredResults, queries) {\n return __awaiter(this, void 0, void 0, function* () {\n core.info('Check results');\n core.debug(`Check results (${fromDate}, ${toDate}, ${JSON.stringify(queries)})`);\n if (!queries)\n queries = [\n {\n refId: 'success_rate',\n expr: 'max_over_time(oks[$__range])/(0.0001+max_over_time(not_oks[$__range])+max_over_time(oks[$__range]))>0',\n interval: '1s'\n },\n {\n refId: 'max_99_latency',\n expr: 'max_over_time(latency{quantile=\"0.99\"}[$__range])>0',\n interval: ''\n },\n {\n refId: 'fail_interval',\n expr: 'sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0',\n interval: '1s'\n }\n ];\n const parsed = yield (0, retry_1.retry)(2, () => __awaiter(this, void 0, void 0, function* () {\n const graphsRaw = yield getDataFromGrafana(fromDate, toDate, queries);\n core.debug('graphsRaw: ' + graphsRaw);\n return parseRawGraph(graphsRaw);\n }));\n core.debug('parsed: ' + JSON.stringify(parsed));\n const checks = checkGraphValues(workloadId, parsed, desiredResults);\n for (let i = 0; i < checks.length; i++) {\n const conclusion = checks[i][1] === 'error'\n ? 'failure'\n : checks[i][1] === 'notfound'\n ? 'neutral'\n : 'success';\n const checkParams = {\n owner: github.context.repo.owner,\n repo: github.context.repo.repo,\n name: `slo_check_${checks[i][0]}`,\n status: 'completed',\n conclusion: conclusion,\n output: {\n title: `SLO results check #${0}`,\n summary: checks[i][2],\n text: checks[i][2]\n }\n };\n yield octokit.rest.checks.create(checkParams);\n }\n return checks.filter(ch => ch[1] == 'error').length > 0;\n });\n}\nexports.checkResults = checkResults;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteCluster = exports.getYdbVersions = exports.createCluster = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst callExecutables_1 = require(\"./callExecutables\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nlet databaseManifest = manifests_json_1.default['k8s/ci/database.yaml'].content;\nlet storageManifest = manifests_json_1.default['k8s/ci/storage.yaml'].content;\n/**\n * Create cluster with selected version\n * @param version YDB docker version\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction createCluster(version = '23.1.19', timeout, checkPeriod = 10) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, groupDecorator_1.logGroup)('Create cluster', () => __awaiter(this, void 0, void 0, function* () {\n databaseManifest = databaseManifest.replace('${{VERSION}}', version);\n storageManifest = storageManifest.replace('${{VERSION}}', version);\n core.debug('database manifest:\\n\\n' + databaseManifest);\n core.debug('storage manifest:\\n\\n' + storageManifest);\n core.info('Apply database and storage manifests');\n core.info('storage apply result:\\n' +\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} apply -f - < `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n core.debug('check status of cluster');\n const databaseStatus = getStatus('database');\n const storageStatus = getStatus('storage');\n core.debug(`Current status of cluster: database - ${databaseStatus}, storage - ${storageStatus}`);\n if (databaseStatus !== lastDatabaseStatus) {\n core.info(`Database become '${databaseStatus}', storage is '${storageStatus}'`);\n lastDatabaseStatus = databaseStatus;\n }\n if (storageStatus !== lastStorageStatus) {\n core.info(`Storage become '${databaseStatus}', database is '${storageStatus}'`);\n lastStorageStatus = storageStatus;\n }\n if (databaseStatus === 'Ready' && storageStatus === 'Ready')\n return true;\n return false;\n }));\n }));\n });\n}\nexports.createCluster = createCluster;\nfunction getYdbVersions() {\n return (0, groupDecorator_1.logGroup)('Get versions', () => {\n const versionsString = (0, callExecutables_1.call)('docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb');\n const versions = versionsString.split('\\n').filter(s => s.length > 0);\n versions.sort();\n return versions;\n });\n}\nexports.getYdbVersions = getYdbVersions;\nfunction getStatus(statusOf) {\n const res = (0, callExecutables_1.callKubernetes)(`get ${statusOf}s.ydb.tech ${statusOf}-sample -ojsonpath={.status}`);\n return JSON.parse(res).state;\n}\nfunction deleteCluster() {\n return (0, groupDecorator_1.logGroup)('Delete cluster', () => {\n core.info('Delete database and storage manifests');\n try {\n core.info('Database delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete databases.ydb.tech database-sample'));\n }\n catch (error) {\n core.info('Error while deleting database' + JSON.stringify(error));\n }\n try {\n core.info('Storage delete result:\\n' +\n (0, callExecutables_1.callKubernetes)('delete storages.ydb.tech storage-sample'));\n }\n catch (error) {\n core.info('Error while deleting storage' + JSON.stringify(error));\n }\n try {\n const pvcs = (0, callExecutables_1.callKubernetes)('get pvc -o=jsonpath=\"{.items[*].metadata.name}\" -l ydb-cluster=slo-storage');\n core.debug('pvcs' + pvcs);\n core.info('PVC delete result:\\n' + (0, callExecutables_1.callKubernetes)(`delete pvc ${pvcs}`));\n }\n catch (error) {\n core.info('Error while deleting pvcs' + JSON.stringify(error));\n }\n });\n}\nexports.deleteCluster = deleteCluster;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.annotate = exports.errorScheduler = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nlet grafanaPod = null;\nfunction errorScheduler(grafanaPodName, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n // get database target's IP\n const targetIP = (yield (0, callExecutables_1.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split('\\n')[0];\n core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`);\n // get grafana pod name\n grafanaPod = grafanaPodName;\n core.info(`Grafana pod name: ${grafanaPod}`);\n // wait until workload start?\n // what is workload to wait to start for?\n // withTimeout(2, 2, 'Wait workload start before error scheduler', async () => {\n // const status = JSON.parse(\n // await callKubernetesAsync(\n // `get job/${workloadId}-wl-run -o=jsonpath={.status}`\n // )\n // )\n // if(status?.phase === 'Running') return true\n // return false\n // })\n yield new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n });\n const freezeCmd = (freeze) => `run -it --image=busybox --rm tablet-${freeze === '0' ? 'un' : ''}freezer --restart=Never --` +\n ` sh -c \"wget -q -O- '${targetIP}:8765/tablets/app?` +\n `TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${freeze}' \"`;\n // freeze\n yield createError('Freeze tablet', freezeCmd('1'), timeBetweenS);\n // unfreeze\n yield createError('Unfreeze tablet', freezeCmd('0'), timeBetweenS);\n // delete pod\n yield createError('Delete database pod', `delete pod database-sample-1`, timeBetweenS);\n // force delete pod\n yield createError('Force delete database pod', `delete pod database-sample-1 --force=true --grace-period=0`, timeBetweenS);\n // kill from inside\n yield createError('Kill database from inside', `exec -it database-sample-0 -- /bin/bash -c \"kill -2 1 && echo 'process killed'\"`, timeBetweenS);\n // TODO: add process sleep\n });\n}\nexports.errorScheduler = errorScheduler;\nfunction createError(name, kubeCommand, timeBetweenS) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Promise.allSettled([\n // run command\n (0, callExecutables_1.callKubernetesAsync)(kubeCommand),\n // annotate\n annotate(name),\n // wait till next\n new Promise(resolve => {\n setTimeout(resolve, timeBetweenS * 1000);\n })\n ]).then(v => {\n if (v.filter(p => p.status === 'rejected').length > 0)\n return Promise.reject('Error in YDB error creation');\n });\n });\n}\n// no tags, but possible to add if needed\nfunction annotate(text, dashboardUID = '7CzMl5t4k') {\n const annotationsUrl = 'http://localhost:3000/api/annotations';\n const createWgetPost = (url, data) => `wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${data}' '${url}'`;\n const data = `{\\\\\"dashboardUID\\\\\":\\\\\"${dashboardUID}\\\\\", \\\\\"text\\\\\":\\\\\"${text}\\\\\", \\\\\"tags\\\\\":[]}`;\n return (0, callExecutables_1.callKubernetes)(`exec -it ${grafanaPod} --container grafana -- /bin/bash -c \"${createWgetPost(annotationsUrl, data)}\"`);\n}\nexports.annotate = annotate;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInfrastractureEndpoints = void 0;\nconst callExecutables_1 = require(\"./callExecutables\");\nconst retry_1 = require(\"./utils/retry\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nfunction getInfrastractureEndpoints() {\n return __awaiter(this, void 0, void 0, function* () {\n const services = [\n 'prometheus-operator',\n 'prometheus',\n 'prometheus-pushgateway',\n 'grafana',\n 'grafana-renderer',\n 'ydb-operator'\n ];\n return Promise.allSettled(services.map(getEndpoint)).then(res => {\n const servicesWithoutPods = services.filter((v, i) => res[i].status === 'rejected');\n if (servicesWithoutPods.length > 0) {\n throw new Error(`Not found those required k8s pods: ${servicesWithoutPods.join(', ')}`);\n }\n return {\n prometheusOperator: res[0].value,\n prometheus: res[1].value,\n prometheusPushgateway: res[2].value,\n grafana: res[3].value,\n grafanaRenderer: res[4].value,\n ydbOperator: res[5].value\n };\n });\n });\n}\nexports.getInfrastractureEndpoints = getInfrastractureEndpoints;\nfunction getEndpoint(kubeName) {\n return (0, retry_1.retry)(2, () => {\n return (0, withTimeout_1.withTimeoutSimple)(10, (0, callExecutables_1.callKubernetesAsync)(`get pods -l \"app.kubernetes.io/name=${kubeName}\" -o jsonpath=\"{.items[0].metadata.name}\"`).then(s => s.split('\\n')[0]));\n });\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.postComment = exports.grafanaScreenshot = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst core = __importStar(require(\"@actions/core\"));\nconst github_1 = require(\"@actions/github\");\nconst callExecutables_1 = require(\"./callExecutables\");\nfunction grafanaScreenshot(s3Endpoint, s3Folder, workloadId, startTime, endTime, dashboard = '7CzMl5t4k', width = 1500, height = 1100) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`grafanaScreenshot(${s3Endpoint}, ${s3Folder}, ${workloadId}, ${startTime}, ${endTime}, ${dashboard}, ${width}, ${height})`);\n const query = `http://grafana/render/d/${dashboard.split('/')[0]}/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv`;\n core.debug('grafana query: ' + query);\n const imageb64 = yield (0, callExecutables_1.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c \"wget -q -O- '${query}' | base64\"`);\n core.debug('grafana imageb64: ' +\n imageb64.slice(0, 100) +\n '...TRUNCATED...' +\n imageb64.slice(-100));\n // write image to fs\n yield (0, callExecutables_1.callAsync)(`echo \"${imageb64}\" | base64 --decode > pic.png`);\n const pictureName = `${workloadId}-${new Date().valueOf()}.png`;\n // upload\n yield (0, callExecutables_1.callAsync)(`aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png \"s3://${path_1.default.join(s3Folder, pictureName)}\"`);\n // delete\n yield (0, callExecutables_1.callAsync)(`rm pic.png`);\n // return name\n const fullPictureUri = path_1.default.join(s3Endpoint, s3Folder, pictureName);\n core.debug('fullPictureUri: ' + fullPictureUri);\n return `${fullPictureUri}`;\n });\n}\nexports.grafanaScreenshot = grafanaScreenshot;\nfunction postComment(octokit, id, message) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!github_1.context.payload.pull_request)\n return;\n const data = Object.assign(Object.assign({}, github_1.context.repo), { issue_number: github_1.context.payload.pull_request.number, comment_id: id, body: message });\n try {\n yield octokit.rest.issues.createComment(data);\n }\n catch (error) {\n yield octokit.rest.issues.updateComment(data);\n }\n });\n}\nexports.postComment = postComment;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst parseArguments_1 = require(\"./parseArguments\");\nconst callExecutables_1 = require(\"./callExecutables\");\nconst mutex_1 = require(\"./mutex\");\nconst cluster_1 = require(\"./cluster\");\nconst workload_1 = require(\"./workload\");\nconst getInfrastractureEndpoints_1 = require(\"./getInfrastractureEndpoints\");\nconst errorScheduler_1 = require(\"./errorScheduler\");\nconst retry_1 = require(\"./utils/retry\");\nconst checkResults_1 = require(\"./checkResults\");\nconst grafanaScreenshot_1 = require(\"./grafanaScreenshot\");\nconst crypto_1 = require(\"crypto\");\nconst isPullRequest = !!github.context.payload.pull_request;\nfunction main() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let { workloads, githubToken, kubeconfig, awsCredentials, awsConfig, s3Endpoint, s3Folder, dockerRepo, dockerFolder, dockerUsername, dockerPassword, ydbVersion, timeBetweenPhases, shutdownTime, grafanaDomain, grafanaDashboard } = (0, parseArguments_1.parseArguments)();\n core.debug(`Setting up OctoKit`);\n const octokit = github.getOctokit(githubToken);\n (0, callExecutables_1.prepareK8S)(kubeconfig);\n (0, callExecutables_1.prepareAWS)(awsCredentials, awsConfig);\n yield (0, workload_1.dockerLogin)(dockerRepo, dockerUsername, dockerPassword);\n // check if all parts working: prometheus, prometheus-pushgateway, grafana, grafana-renderer\n const servicesPods = yield (0, getInfrastractureEndpoints_1.getInfrastractureEndpoints)();\n core.info(`Services pods: ${JSON.stringify(servicesPods)}`);\n core.info('Run SLO tests for: \\n' +\n workloads\n .map(option => {\n let str = `#${option.id}`;\n str += option.name ? `(${option.name})\\n` : '\\n';\n str += `path: '${option.path}'\\n`;\n str += option.buildContext\n ? `build context: '${option.buildContext}'\\n`\n : '';\n str += option.buildOptions\n ? `build options: '${option.buildOptions}'\\n`\n : '';\n return str;\n })\n .join('==='));\n const mutexId = workloads.length > 1\n ? workloads.map(v => v.id).join('__+__')\n : workloads[0].id;\n yield (0, mutex_1.obtainMutex)(mutexId, 30);\n core.info('Mutex obtained!');\n const dockerPaths = workloads.map(w => (0, workload_1.generateDockerPath)(dockerRepo, dockerFolder, w.id));\n core.info('Create cluster and build all workloads');\n const builded = workloads.map(() => false);\n const clusterWorkloadRes = yield Promise.allSettled([\n (0, cluster_1.createCluster)(ydbVersion, 15),\n // TODO: create placeholder pods for databases\n // TODO: catch build error and stop cluster creation\n ...workloads.map((wl, idx) => (0, workload_1.buildWorkload)(wl.id, dockerPaths[idx], wl.path, wl.buildOptions, wl.buildContext).then(() => {\n builded[idx] = true;\n }))\n ]);\n /** Indicates that cluster created, some of workloads builded and it's possible to run wl */\n const continueRun = clusterWorkloadRes[0].status === 'fulfilled' &&\n builded.filter(v => v).length > 0;\n core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`);\n if (builded.every(v => v)) {\n core.info('All workloads builded successfully');\n }\n else {\n if (continueRun) {\n builded.map((done, i) => {\n if (!done)\n core.info(`Error in '${workloads[i].id}' build`);\n else\n core.info(`'${workloads[i].id}' build successful`);\n });\n }\n else {\n core.info('No workloads builded!');\n }\n }\n if (continueRun) {\n // retry create operation one time in case of error\n const createResult = yield Promise.allSettled(workloads.map((wl, idx) => __awaiter(this, void 0, void 0, function* () {\n return (0, retry_1.retry)(2, () => (0, workload_1.runWorkload)('create', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: 2,\n args: `--min-partitions-count 6 --max-partitions-count 1000 ` +\n `--partition-size 1 --initial-data-count 1000`\n }));\n })));\n core.debug('create results: ' + JSON.stringify(createResult));\n if (createResult.filter(r => r.status === 'fulfilled').length === 0) {\n throw new Error('No workloads performed `create` action, exit');\n }\n else {\n // run in parrallel without retries\n const runResult = yield Promise.allSettled([\n ...workloads.map((wl, idx) => (0, workload_1.runWorkload)('run', {\n id: wl.id,\n dockerPath: dockerPaths[idx],\n timeoutMins: Math.ceil(((5 + 4) * timeBetweenPhases + shutdownTime) / 60),\n args: `--time ${(5 + 2) * timeBetweenPhases} --shutdown-time ${shutdownTime} --read-rps 1000 ` +\n `--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`\n })),\n (0, errorScheduler_1.errorScheduler)(servicesPods.grafana, timeBetweenPhases)\n ]);\n core.debug('run results: ' + JSON.stringify(runResult));\n if (runResult\n .slice(0, workloads.length)\n .filter(r => r.status === 'fulfilled').length === 0) {\n core.info('No successfull workload runs!');\n throw new Error('No workloads runs completed successfully');\n }\n else {\n // TODO: somehow use objectives as input\n const objectives = {\n success_rate: [{ filter: {}, value: ['>', 0.98] }],\n max_99_latency: [\n { filter: { status: 'ok' }, value: ['<', 100] },\n { filter: { status: 'err' }, value: ['<', 30000] }\n ],\n fail_interval: [{ filter: {}, value: ['<', 20] }]\n };\n let promises = [];\n runResult.map((r, i) => {\n if (r.status === 'fulfilled' && i !== runResult.length - 1) {\n const timings = r.value;\n promises.push((0, checkResults_1.checkResults)(octokit, workloads[i].id, timings.startTime, timings.endTime, objectives));\n core.debug('isPullRequest=' + isPullRequest);\n if (isPullRequest) {\n core.debug('Push to promises grafana screenshot and postComment');\n promises.push((() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const pictureUri = yield (0, grafanaScreenshot_1.grafanaScreenshot)(s3Endpoint, s3Folder, workloads[i].id, timings.startTime, timings.endTime, grafanaDashboard);\n const comment = `\n :volcano: Here are results of SLO test for **${(_a = workloads[i].name) !== null && _a !== void 0 ? _a : workloads[i].id}**:\n \n [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()})\n \n ![SLO-${workloads[i].id}](${pictureUri})`;\n yield (0, grafanaScreenshot_1.postComment)(octokit, (0, crypto_1.createHash)('sha1')\n .update('nodejs-1')\n .digest()\n .readUint32BE(), comment);\n }))());\n }\n }\n });\n const res = yield Promise.allSettled(promises);\n core.info('checkResults and grafana screenshot result: ' + JSON.stringify(res));\n }\n }\n }\n (0, cluster_1.deleteCluster)();\n (0, mutex_1.releaseMutex)();\n }\n catch (error) {\n if (error instanceof Error)\n core.setFailed(error.message);\n }\n });\n}\nconst isPostAction = !!core.getState('isPost');\nif (isPostAction) {\n core.info('Cleanup');\n core.debug('Remove .kube dir');\n (0, callExecutables_1.call)('rm -rf ~/.kube');\n core.debug('Remove .aws dir');\n (0, callExecutables_1.call)('rm -rf ~/.aws');\n}\nelse {\n core.info('Main SLO action');\n main();\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.releaseMutex = exports.obtainMutex = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst withTimeout_1 = require(\"./utils/withTimeout\");\n/** Is mutex busy (configmap has field busy) */\nfunction isBusy(name) {\n var _a, _b, _c;\n core.debug(`isBusy(${name})`);\n const res = (0, callExecutables_1.callKubernetes)(`get configmaps ${name} -ojson`);\n core.debug('isBusy result: ' + res);\n const configmap = JSON.parse(res);\n core.debug('configmap parsed: ' + JSON.stringify(configmap));\n if (((_a = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _a === void 0 ? void 0 : _a.busy) !== undefined) {\n core.info(`Mutex locked by ${(_b = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _b === void 0 ? void 0 : _b.lockedBy}`);\n return (_c = configmap === null || configmap === void 0 ? void 0 : configmap.data) === null || _c === void 0 ? void 0 : _c.lockedBy;\n }\n return false;\n}\nfunction setBusy(lockedBy) {\n core.debug(`setBusy(${lockedBy})`);\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${lockedBy} -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n}\n/**\n * Obtain mutex\n * @param workloadId id to mention in mutex\n * @param timeout timeout in minutes\n * @param checkPeriod update period in seconds\n */\nfunction obtainMutex(workloadId, timeout, checkPeriod = 20) {\n return (0, groupDecorator_1.logGroup)('Obtain mutex', () => __awaiter(this, void 0, void 0, function* () {\n return (0, withTimeout_1.withTimeout)(timeout, checkPeriod, 'Obtain mutex', () => {\n const busy = isBusy('slo-mutex');\n if (typeof busy === 'boolean' && !busy) {\n core.debug('Set mutex');\n setBusy(workloadId);\n core.info('Mutex obtained');\n core.debug('Mutex sleep 5s');\n (0, callExecutables_1.call)('sleep 5');\n core.debug('Re-check after sleep');\n const mutexObtainedBy = isBusy('slo-mutex');\n if (mutexObtainedBy !== workloadId) {\n core.info('Mutex is not obtained!');\n return false;\n }\n return true;\n }\n return false;\n });\n }));\n}\nexports.obtainMutex = obtainMutex;\nfunction releaseMutex() {\n return (0, groupDecorator_1.logGroup)('Release mutex', () => {\n (0, callExecutables_1.callKubernetesPath)(kubectl => `${kubectl} create configmap slo-mutex -o=yaml --dry-run=client | ${kubectl} apply -f -`);\n });\n}\nexports.releaseMutex = releaseMutex;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseArguments = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\nconst cluster_1 = require(\"./cluster\");\nfunction parseArguments() {\n return (0, groupDecorator_1.logGroup)('Parse arguments', () => {\n let workloads = [];\n let i = -1, haveValue = true;\n do {\n const readedValue = getWorkloadParam(i);\n if (null === readedValue) {\n // can start from '' or from 0\n if (i !== -1)\n haveValue = false;\n }\n else {\n workloads.push(readedValue);\n }\n i++;\n } while (haveValue);\n const githubToken = core.getInput('GITHUB_TOKEN');\n const kubeconfig = core.getInput('KUBECONFIG_B64');\n const dockerRepo = core.getInput('DOCKER_REPO');\n const dockerFolder = core.getInput('DOCKER_FOLDER');\n const dockerUsername = core.getInput('DOCKER_USERNAME');\n const dockerPassword = core.getInput('DOCKER_PASSWORD');\n const awsCredentials = core.getInput('AWS_CREDENTIALS_B64');\n const awsConfig = core.getInput('AWS_CONFIG_B64');\n const s3Endpoint = core.getInput('s3_endpoint');\n const s3Folder = core.getInput('s3_images_folder');\n const grafanaDomain = core.getInput('grafana_domain');\n const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k';\n let ydbVersion = core.getInput('ydb_version');\n const timeBetweenPhases = Number(core.getInput('time_between_phases') || '20');\n const shutdownTime = Number(core.getInput('shutdown_time') || '30');\n if (isNaN(timeBetweenPhases))\n throw new Error('time_between_phases is not a number');\n if (isNaN(shutdownTime))\n throw new Error('shutdown_time is not a number');\n if (ydbVersion === '')\n ydbVersion = '23.1.26';\n if (ydbVersion === 'newest') {\n core.info('Get YDB docker versions');\n const ydbVersions = (0, cluster_1.getYdbVersions)();\n ydbVersion = ydbVersions[ydbVersions.length - 1];\n core.info(`Use YDB docker version = '${ydbVersion}'`);\n }\n return {\n workloads,\n githubToken,\n kubeconfig,\n awsCredentials,\n awsConfig,\n s3Endpoint,\n s3Folder,\n dockerRepo,\n dockerFolder,\n dockerUsername,\n dockerPassword,\n ydbVersion,\n timeBetweenPhases,\n shutdownTime,\n grafanaDomain,\n grafanaDashboard\n };\n });\n}\nexports.parseArguments = parseArguments;\nfunction getWorkloadParam(id) {\n let suffix = id == -1 ? '' : `${id}`;\n const languageId = core.getInput('language_id' + suffix);\n const languageName = core.getInput('language' + suffix);\n const workloadPath = core.getInput('workload_path' + suffix);\n const workloadBuildContext = core.getInput('workload_build_context' + suffix);\n const workloadBuildOptions = core.getInput('workload_build_options' + suffix);\n core.debug(`getWorkloadParam(${id}):\n suffix='${suffix}'\n languageId='${languageId}'\n languageName='${languageName}'\n workloadPath='${workloadPath}'\n workloadBuildContext='${workloadBuildContext}'\n workloadBuildOptions='${workloadBuildOptions}'`);\n // id and path are required\n if (languageId.length === 0 || workloadPath.length === 0) {\n core.debug(`Not found params for ${id} workload - ${'language_id' + suffix} and ${'workload_path' + suffix} are not presented`);\n return null;\n }\n let options = {\n id: languageId,\n path: workloadPath\n };\n if (languageName)\n options.name = languageName;\n if (workloadBuildContext)\n options.buildContext = workloadBuildContext;\n if (workloadBuildOptions)\n options.buildOptions = workloadBuildOptions;\n return options;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logGroup = void 0;\nconst core = __importStar(require(\"@actions/core\"));\n// eslint-disable-next-line @typescript-eslint/promise-function-async\nfunction logGroup(name, fun) {\n core.startGroup(name);\n const res = fun();\n if (res instanceof Promise) {\n return res.finally(() => {\n core.endGroup();\n });\n }\n else {\n core.endGroup();\n return res;\n }\n}\nexports.logGroup = logGroup;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retry = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nfunction retry(retries, inner) {\n return __awaiter(this, void 0, void 0, function* () {\n let error;\n while (retries > 0) {\n try {\n return yield inner();\n }\n catch (e) {\n error = e;\n }\n retries--;\n }\n core.info('All retries have been used, re-throwing error');\n throw error;\n });\n}\nexports.retry = retry;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withTimeoutSimple = exports.withTimeout = exports.TimeoutExceededError = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nclass TimeoutExceededError extends Error {\n}\nexports.TimeoutExceededError = TimeoutExceededError;\nfunction withTimeout(timeoutM, checkPeriodS, actionName, checkFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n core.debug(`Call withTimeout: timeout=${timeoutM}mins refreshPeriod=${checkPeriodS}s now: ${new Date().toISOString()}`);\n const deadline = new Date().valueOf() + timeoutM * 1000 * 60;\n core.debug(`Deadline is set to: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n do {\n core.debug(`withTimeout check: ${deadline} ( ${new Date(deadline).toISOString()} )`);\n if (yield checkFunc())\n return;\n yield new Promise(resolve => setTimeout(resolve, checkPeriodS * 1000));\n } while (new Date().valueOf() < deadline);\n core.debug(`withTimeout throw timeout`);\n throw new TimeoutExceededError(`${actionName} not done within timeout of ${timeoutM}min`);\n });\n}\nexports.withTimeout = withTimeout;\nfunction withTimeoutSimple(timeoutS, func) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.race([\n func,\n new Promise((_, reject) => setTimeout(reject, timeoutS * 1000))\n ]);\n });\n}\nexports.withTimeoutSimple = withTimeoutSimple;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runWorkload = exports.buildWorkload = exports.generateDockerPath = exports.dockerLogin = void 0;\nconst core = __importStar(require(\"@actions/core\"));\nconst github = __importStar(require(\"@actions/github\"));\nconst callExecutables_1 = require(\"./callExecutables\");\nconst groupDecorator_1 = require(\"./utils/groupDecorator\");\n// npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json\nconst manifests_json_1 = __importDefault(require(\"./manifests.json\"));\nconst withTimeout_1 = require(\"./utils/withTimeout\");\nconst workloadManifestTemplate = manifests_json_1.default['k8s/ci/workload.yaml'].content;\nfunction dockerLogin(repo, user, password) {\n return (0, groupDecorator_1.logGroup)('Docker login', () => __awaiter(this, void 0, void 0, function* () {\n try {\n yield (0, callExecutables_1.callAsync)(`echo \"${password}\" | base64 -d | docker login ${repo} -u ${user} --password-stdin`, true);\n core.info('Successfully logged in');\n }\n catch (error) {\n // suppress error revealing user and password\n const msg = 'Incorrect docker repo, username or password';\n if ((error === null || error === void 0 ? void 0 : error.message) &&\n (error === null || error === void 0 ? void 0 : error.message).indexOf('username or password') > -1) {\n core.info(msg);\n }\n else {\n core.info('Something went wrong in docker login');\n }\n throw new Error(msg);\n }\n }));\n}\nexports.dockerLogin = dockerLogin;\nfunction generateDockerPath(repo, folder, id) {\n return `${repo}/${folder}/${id}`;\n}\nexports.generateDockerPath = generateDockerPath;\nfunction buildWorkload(id, dockerImage, workingDir, options, context) {\n if (!options || options.length === 0)\n options = '';\n if (!context || context.length === 0)\n context = '.';\n return (0, groupDecorator_1.logGroup)(`Build workload ${id}`, () => __awaiter(this, void 0, void 0, function* () {\n core.info('Build docker image');\n yield (0, callExecutables_1.callAsync)(`docker buildx build --platform linux/amd64 ` +\n `-t ${dockerImage}:latest ` +\n `-t ${dockerImage}:gh-${github.context.sha} ` +\n `${options} ` +\n `${context}`, false, workingDir);\n core.info('Push docker tag @latest');\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:latest`);\n core.info(`Push docker tag '@gh-${github.context.sha}'`);\n yield (0, callExecutables_1.callAsync)(`docker image push ${dockerImage}:gh-${github.context.sha}`);\n }));\n}\nexports.buildWorkload = buildWorkload;\nfunction runWorkload(command, options) {\n return (0, groupDecorator_1.logGroup)(`Workload ${options.id} - ${command}`, () => __awaiter(this, void 0, void 0, function* () {\n const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}`;\n const workloadManifest = workloadManifestTemplate\n .replace(/\\$\\{\\{LANGUAGE_ID\\}\\}/g, options.id)\n .replace(/\\$\\{\\{COMMAND\\}\\}/g, command)\n .replace(/\\$\\{\\{DOCKER_IMAGE\\}\\}/g, options.dockerPath)\n .replace('${{ARGS}}', containerArgs\n .split(' ')\n .map(s => `'${s}'`)\n .join('\\n - '));\n core.debug(`Workload manifest: \\n\\n${workloadManifest}`);\n const startTime = new Date();\n core.info(`Workload apply ${command} result:\\n` +\n (yield (0, callExecutables_1.callKubernetesPathAsync)(kubectl => `${kubectl} apply -f - < __awaiter(this, void 0, void 0, function* () {\n const status = JSON.parse(yield (0, callExecutables_1.callKubernetesAsync)(`get job/${options.id}-wl-${command} -o=jsonpath={.status}`));\n core.debug('Workload status check: ' + JSON.stringify(status));\n if (status.failed) {\n const msg = `Workload ${options.id} ${command} failed`;\n core.info(msg);\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n throw new Error(msg);\n }\n if (status.complete || status.succeeded)\n return true;\n return false;\n }));\n const endTime = new Date();\n // print logs\n core.info(`Workload ${options.id} ${command} logs:\\n` +\n (yield (0, callExecutables_1.callKubernetesAsync)(`logs job/${options.id}-wl-${command}`)));\n return { startTime, endTime };\n }));\n}\nexports.runWorkload = runWorkload;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.issue = exports.issueCommand = void 0;\nconst os = __importStar(require(\"os\"));\nconst utils_1 = require(\"./utils\");\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nfunction issueCommand(command, properties, message) {\n const cmd = new Command(command, properties, message);\n process.stdout.write(cmd.toString() + os.EOL);\n}\nexports.issueCommand = issueCommand;\nfunction issue(name, message = '') {\n issueCommand(name, {}, message);\n}\nexports.issue = issue;\nconst CMD_STRING = '::';\nclass Command {\n constructor(command, properties, message) {\n if (!command) {\n command = 'missing.command';\n }\n this.command = command;\n this.properties = properties;\n this.message = message;\n }\n toString() {\n let cmdStr = CMD_STRING + this.command;\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' ';\n let first = true;\n for (const key in this.properties) {\n if (this.properties.hasOwnProperty(key)) {\n const val = this.properties[key];\n if (val) {\n if (first) {\n first = false;\n }\n else {\n cmdStr += ',';\n }\n cmdStr += `${key}=${escapeProperty(val)}`;\n }\n }\n }\n }\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`;\n return cmdStr;\n }\n}\nfunction escapeData(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A');\n}\nfunction escapeProperty(s) {\n return utils_1.toCommandValue(s)\n .replace(/%/g, '%25')\n .replace(/\\r/g, '%0D')\n .replace(/\\n/g, '%0A')\n .replace(/:/g, '%3A')\n .replace(/,/g, '%2C');\n}\n//# sourceMappingURL=command.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;\nconst command_1 = require(\"./command\");\nconst file_command_1 = require(\"./file-command\");\nconst utils_1 = require(\"./utils\");\nconst os = __importStar(require(\"os\"));\nconst path = __importStar(require(\"path\"));\nconst oidc_utils_1 = require(\"./oidc-utils\");\n/**\n * The code to exit an action\n */\nvar ExitCode;\n(function (ExitCode) {\n /**\n * A code indicating that the action was successful\n */\n ExitCode[ExitCode[\"Success\"] = 0] = \"Success\";\n /**\n * A code indicating that the action was a failure\n */\n ExitCode[ExitCode[\"Failure\"] = 1] = \"Failure\";\n})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));\n//-----------------------------------------------------------------------\n// Variables\n//-----------------------------------------------------------------------\n/**\n * Sets env variable for this action and future actions in the job\n * @param name the name of the variable to set\n * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction exportVariable(name, val) {\n const convertedVal = utils_1.toCommandValue(val);\n process.env[name] = convertedVal;\n const filePath = process.env['GITHUB_ENV'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));\n }\n command_1.issueCommand('set-env', { name }, convertedVal);\n}\nexports.exportVariable = exportVariable;\n/**\n * Registers a secret which will get masked from logs\n * @param secret value of the secret\n */\nfunction setSecret(secret) {\n command_1.issueCommand('add-mask', {}, secret);\n}\nexports.setSecret = setSecret;\n/**\n * Prepends inputPath to the PATH (for this action and future actions)\n * @param inputPath\n */\nfunction addPath(inputPath) {\n const filePath = process.env['GITHUB_PATH'] || '';\n if (filePath) {\n file_command_1.issueFileCommand('PATH', inputPath);\n }\n else {\n command_1.issueCommand('add-path', {}, inputPath);\n }\n process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;\n}\nexports.addPath = addPath;\n/**\n * Gets the value of an input.\n * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.\n * Returns an empty string if the value is not defined.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string\n */\nfunction getInput(name, options) {\n const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';\n if (options && options.required && !val) {\n throw new Error(`Input required and not supplied: ${name}`);\n }\n if (options && options.trimWhitespace === false) {\n return val;\n }\n return val.trim();\n}\nexports.getInput = getInput;\n/**\n * Gets the values of an multiline input. Each value is also trimmed.\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns string[]\n *\n */\nfunction getMultilineInput(name, options) {\n const inputs = getInput(name, options)\n .split('\\n')\n .filter(x => x !== '');\n if (options && options.trimWhitespace === false) {\n return inputs;\n }\n return inputs.map(input => input.trim());\n}\nexports.getMultilineInput = getMultilineInput;\n/**\n * Gets the input value of the boolean type in the YAML 1.2 \"core schema\" specification.\n * Support boolean input list: `true | True | TRUE | false | False | FALSE` .\n * The return value is also in boolean type.\n * ref: https://yaml.org/spec/1.2/spec.html#id2804923\n *\n * @param name name of the input to get\n * @param options optional. See InputOptions.\n * @returns boolean\n */\nfunction getBooleanInput(name, options) {\n const trueValue = ['true', 'True', 'TRUE'];\n const falseValue = ['false', 'False', 'FALSE'];\n const val = getInput(name, options);\n if (trueValue.includes(val))\n return true;\n if (falseValue.includes(val))\n return false;\n throw new TypeError(`Input does not meet YAML 1.2 \"Core Schema\" specification: ${name}\\n` +\n `Support boolean input list: \\`true | True | TRUE | false | False | FALSE\\``);\n}\nexports.getBooleanInput = getBooleanInput;\n/**\n * Sets the value of an output.\n *\n * @param name name of the output to set\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setOutput(name, value) {\n const filePath = process.env['GITHUB_OUTPUT'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));\n }\n process.stdout.write(os.EOL);\n command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));\n}\nexports.setOutput = setOutput;\n/**\n * Enables or disables the echoing of commands into stdout for the rest of the step.\n * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.\n *\n */\nfunction setCommandEcho(enabled) {\n command_1.issue('echo', enabled ? 'on' : 'off');\n}\nexports.setCommandEcho = setCommandEcho;\n//-----------------------------------------------------------------------\n// Results\n//-----------------------------------------------------------------------\n/**\n * Sets the action status to failed.\n * When the action exits it will be with an exit code of 1\n * @param message add error issue message\n */\nfunction setFailed(message) {\n process.exitCode = ExitCode.Failure;\n error(message);\n}\nexports.setFailed = setFailed;\n//-----------------------------------------------------------------------\n// Logging Commands\n//-----------------------------------------------------------------------\n/**\n * Gets whether Actions Step Debug is on or not\n */\nfunction isDebug() {\n return process.env['RUNNER_DEBUG'] === '1';\n}\nexports.isDebug = isDebug;\n/**\n * Writes debug message to user log\n * @param message debug message\n */\nfunction debug(message) {\n command_1.issueCommand('debug', {}, message);\n}\nexports.debug = debug;\n/**\n * Adds an error issue\n * @param message error issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction error(message, properties = {}) {\n command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.error = error;\n/**\n * Adds a warning issue\n * @param message warning issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction warning(message, properties = {}) {\n command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.warning = warning;\n/**\n * Adds a notice issue\n * @param message notice issue message. Errors will be converted to string via toString()\n * @param properties optional properties to add to the annotation.\n */\nfunction notice(message, properties = {}) {\n command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);\n}\nexports.notice = notice;\n/**\n * Writes info to log with console.log.\n * @param message info message\n */\nfunction info(message) {\n process.stdout.write(message + os.EOL);\n}\nexports.info = info;\n/**\n * Begin an output group.\n *\n * Output until the next `groupEnd` will be foldable in this group\n *\n * @param name The name of the output group\n */\nfunction startGroup(name) {\n command_1.issue('group', name);\n}\nexports.startGroup = startGroup;\n/**\n * End an output group.\n */\nfunction endGroup() {\n command_1.issue('endgroup');\n}\nexports.endGroup = endGroup;\n/**\n * Wrap an asynchronous function call in a group.\n *\n * Returns the same type as the function itself.\n *\n * @param name The name of the group\n * @param fn The function to wrap in the group\n */\nfunction group(name, fn) {\n return __awaiter(this, void 0, void 0, function* () {\n startGroup(name);\n let result;\n try {\n result = yield fn();\n }\n finally {\n endGroup();\n }\n return result;\n });\n}\nexports.group = group;\n//-----------------------------------------------------------------------\n// Wrapper action state\n//-----------------------------------------------------------------------\n/**\n * Saves state for current action, the state can only be retrieved by this action's post job execution.\n *\n * @param name name of the state to store\n * @param value value to store. Non-string values will be converted to a string via JSON.stringify\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction saveState(name, value) {\n const filePath = process.env['GITHUB_STATE'] || '';\n if (filePath) {\n return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));\n }\n command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));\n}\nexports.saveState = saveState;\n/**\n * Gets the value of an state set by this action's main execution.\n *\n * @param name name of the state to get\n * @returns string\n */\nfunction getState(name) {\n return process.env[`STATE_${name}`] || '';\n}\nexports.getState = getState;\nfunction getIDToken(aud) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield oidc_utils_1.OidcClient.getIDToken(aud);\n });\n}\nexports.getIDToken = getIDToken;\n/**\n * Summary exports\n */\nvar summary_1 = require(\"./summary\");\nObject.defineProperty(exports, \"summary\", { enumerable: true, get: function () { return summary_1.summary; } });\n/**\n * @deprecated use core.summary\n */\nvar summary_2 = require(\"./summary\");\nObject.defineProperty(exports, \"markdownSummary\", { enumerable: true, get: function () { return summary_2.markdownSummary; } });\n/**\n * Path exports\n */\nvar path_utils_1 = require(\"./path-utils\");\nObject.defineProperty(exports, \"toPosixPath\", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });\nObject.defineProperty(exports, \"toWin32Path\", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });\nObject.defineProperty(exports, \"toPlatformPath\", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });\n//# sourceMappingURL=core.js.map","\"use strict\";\n// For internal use, subject to change.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareKeyValueMessage = exports.issueFileCommand = void 0;\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst fs = __importStar(require(\"fs\"));\nconst os = __importStar(require(\"os\"));\nconst uuid_1 = require(\"uuid\");\nconst utils_1 = require(\"./utils\");\nfunction issueFileCommand(command, message) {\n const filePath = process.env[`GITHUB_${command}`];\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`);\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`);\n }\n fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n });\n}\nexports.issueFileCommand = issueFileCommand;\nfunction prepareKeyValueMessage(key, value) {\n const delimiter = `ghadelimiter_${uuid_1.v4()}`;\n const convertedValue = utils_1.toCommandValue(value);\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`);\n }\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`);\n }\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;\n}\nexports.prepareKeyValueMessage = prepareKeyValueMessage;\n//# sourceMappingURL=file-command.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcClient = void 0;\nconst http_client_1 = require(\"@actions/http-client\");\nconst auth_1 = require(\"@actions/http-client/lib/auth\");\nconst core_1 = require(\"./core\");\nclass OidcClient {\n static createHttpClient(allowRetry = true, maxRetry = 10) {\n const requestOptions = {\n allowRetries: allowRetry,\n maxRetries: maxRetry\n };\n return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);\n }\n static getRequestToken() {\n const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];\n if (!token) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');\n }\n return token;\n }\n static getIDTokenUrl() {\n const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];\n if (!runtimeUrl) {\n throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');\n }\n return runtimeUrl;\n }\n static getCall(id_token_url) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const httpclient = OidcClient.createHttpClient();\n const res = yield httpclient\n .getJson(id_token_url)\n .catch(error => {\n throw new Error(`Failed to get ID Token. \\n \n Error Code : ${error.statusCode}\\n \n Error Message: ${error.result.message}`);\n });\n const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;\n if (!id_token) {\n throw new Error('Response json body do not have ID Token field');\n }\n return id_token;\n });\n }\n static getIDToken(audience) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // New ID Token is requested from action service\n let id_token_url = OidcClient.getIDTokenUrl();\n if (audience) {\n const encodedAudience = encodeURIComponent(audience);\n id_token_url = `${id_token_url}&audience=${encodedAudience}`;\n }\n core_1.debug(`ID token url is ${id_token_url}`);\n const id_token = yield OidcClient.getCall(id_token_url);\n core_1.setSecret(id_token);\n return id_token;\n }\n catch (error) {\n throw new Error(`Error message: ${error.message}`);\n }\n });\n }\n}\nexports.OidcClient = OidcClient;\n//# sourceMappingURL=oidc-utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;\nconst path = __importStar(require(\"path\"));\n/**\n * toPosixPath converts the given path to the posix form. On Windows, \\\\ will be\n * replaced with /.\n *\n * @param pth. Path to transform.\n * @return string Posix path.\n */\nfunction toPosixPath(pth) {\n return pth.replace(/[\\\\]/g, '/');\n}\nexports.toPosixPath = toPosixPath;\n/**\n * toWin32Path converts the given path to the win32 form. On Linux, / will be\n * replaced with \\\\.\n *\n * @param pth. Path to transform.\n * @return string Win32 path.\n */\nfunction toWin32Path(pth) {\n return pth.replace(/[/]/g, '\\\\');\n}\nexports.toWin32Path = toWin32Path;\n/**\n * toPlatformPath converts the given path to a platform-specific path. It does\n * this by replacing instances of / and \\ with the platform-specific path\n * separator.\n *\n * @param pth The path to platformize.\n * @return string The platform-specific path.\n */\nfunction toPlatformPath(pth) {\n return pth.replace(/[/\\\\]/g, path.sep);\n}\nexports.toPlatformPath = toPlatformPath;\n//# sourceMappingURL=path-utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;\nconst os_1 = require(\"os\");\nconst fs_1 = require(\"fs\");\nconst { access, appendFile, writeFile } = fs_1.promises;\nexports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';\nexports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';\nclass Summary {\n constructor() {\n this._buffer = '';\n }\n /**\n * Finds the summary file path from the environment, rejects if env var is not found or file does not exist\n * Also checks r/w permissions.\n *\n * @returns step summary file path\n */\n filePath() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._filePath) {\n return this._filePath;\n }\n const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];\n if (!pathFromEnv) {\n throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);\n }\n try {\n yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);\n }\n catch (_a) {\n throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);\n }\n this._filePath = pathFromEnv;\n return this._filePath;\n });\n }\n /**\n * Wraps content in an HTML tag, adding any HTML attributes\n *\n * @param {string} tag HTML tag to wrap\n * @param {string | null} content content within the tag\n * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add\n *\n * @returns {string} content wrapped in HTML element\n */\n wrap(tag, content, attrs = {}) {\n const htmlAttrs = Object.entries(attrs)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('');\n if (!content) {\n return `<${tag}${htmlAttrs}>`;\n }\n return `<${tag}${htmlAttrs}>${content}`;\n }\n /**\n * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.\n *\n * @param {SummaryWriteOptions} [options] (optional) options for write operation\n *\n * @returns {Promise} summary instance\n */\n write(options) {\n return __awaiter(this, void 0, void 0, function* () {\n const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);\n const filePath = yield this.filePath();\n const writeFunc = overwrite ? writeFile : appendFile;\n yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });\n return this.emptyBuffer();\n });\n }\n /**\n * Clears the summary buffer and wipes the summary file\n *\n * @returns {Summary} summary instance\n */\n clear() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.emptyBuffer().write({ overwrite: true });\n });\n }\n /**\n * Returns the current summary buffer as a string\n *\n * @returns {string} string of summary buffer\n */\n stringify() {\n return this._buffer;\n }\n /**\n * If the summary buffer is empty\n *\n * @returns {boolen} true if the buffer is empty\n */\n isEmptyBuffer() {\n return this._buffer.length === 0;\n }\n /**\n * Resets the summary buffer without writing to summary file\n *\n * @returns {Summary} summary instance\n */\n emptyBuffer() {\n this._buffer = '';\n return this;\n }\n /**\n * Adds raw text to the summary buffer\n *\n * @param {string} text content to add\n * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)\n *\n * @returns {Summary} summary instance\n */\n addRaw(text, addEOL = false) {\n this._buffer += text;\n return addEOL ? this.addEOL() : this;\n }\n /**\n * Adds the operating system-specific end-of-line marker to the buffer\n *\n * @returns {Summary} summary instance\n */\n addEOL() {\n return this.addRaw(os_1.EOL);\n }\n /**\n * Adds an HTML codeblock to the summary buffer\n *\n * @param {string} code content to render within fenced code block\n * @param {string} lang (optional) language to syntax highlight code\n *\n * @returns {Summary} summary instance\n */\n addCodeBlock(code, lang) {\n const attrs = Object.assign({}, (lang && { lang }));\n const element = this.wrap('pre', this.wrap('code', code), attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML list to the summary buffer\n *\n * @param {string[]} items list of items to render\n * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)\n *\n * @returns {Summary} summary instance\n */\n addList(items, ordered = false) {\n const tag = ordered ? 'ol' : 'ul';\n const listItems = items.map(item => this.wrap('li', item)).join('');\n const element = this.wrap(tag, listItems);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML table to the summary buffer\n *\n * @param {SummaryTableCell[]} rows table rows\n *\n * @returns {Summary} summary instance\n */\n addTable(rows) {\n const tableBody = rows\n .map(row => {\n const cells = row\n .map(cell => {\n if (typeof cell === 'string') {\n return this.wrap('td', cell);\n }\n const { header, data, colspan, rowspan } = cell;\n const tag = header ? 'th' : 'td';\n const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));\n return this.wrap(tag, data, attrs);\n })\n .join('');\n return this.wrap('tr', cells);\n })\n .join('');\n const element = this.wrap('table', tableBody);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds a collapsable HTML details element to the summary buffer\n *\n * @param {string} label text for the closed state\n * @param {string} content collapsable content\n *\n * @returns {Summary} summary instance\n */\n addDetails(label, content) {\n const element = this.wrap('details', this.wrap('summary', label) + content);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML image tag to the summary buffer\n *\n * @param {string} src path to the image you to embed\n * @param {string} alt text description of the image\n * @param {SummaryImageOptions} options (optional) addition image attributes\n *\n * @returns {Summary} summary instance\n */\n addImage(src, alt, options) {\n const { width, height } = options || {};\n const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));\n const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML section heading element\n *\n * @param {string} text heading text\n * @param {number | string} [level=1] (optional) the heading level, default: 1\n *\n * @returns {Summary} summary instance\n */\n addHeading(text, level) {\n const tag = `h${level}`;\n const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)\n ? tag\n : 'h1';\n const element = this.wrap(allowedTag, text);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML thematic break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addSeparator() {\n const element = this.wrap('hr', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML line break (
) to the summary buffer\n *\n * @returns {Summary} summary instance\n */\n addBreak() {\n const element = this.wrap('br', null);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML blockquote to the summary buffer\n *\n * @param {string} text quote text\n * @param {string} cite (optional) citation url\n *\n * @returns {Summary} summary instance\n */\n addQuote(text, cite) {\n const attrs = Object.assign({}, (cite && { cite }));\n const element = this.wrap('blockquote', text, attrs);\n return this.addRaw(element).addEOL();\n }\n /**\n * Adds an HTML anchor tag to the summary buffer\n *\n * @param {string} text link text/content\n * @param {string} href hyperlink\n *\n * @returns {Summary} summary instance\n */\n addLink(text, href) {\n const element = this.wrap('a', text, { href });\n return this.addRaw(element).addEOL();\n }\n}\nconst _summary = new Summary();\n/**\n * @deprecated use `core.summary`\n */\nexports.markdownSummary = _summary;\nexports.summary = _summary;\n//# sourceMappingURL=summary.js.map","\"use strict\";\n// We use any as a valid input type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toCommandProperties = exports.toCommandValue = void 0;\n/**\n * Sanitizes an input into a string so it can be passed into issueCommand safely\n * @param input input to sanitize into a string\n */\nfunction toCommandValue(input) {\n if (input === null || input === undefined) {\n return '';\n }\n else if (typeof input === 'string' || input instanceof String) {\n return input;\n }\n return JSON.stringify(input);\n}\nexports.toCommandValue = toCommandValue;\n/**\n *\n * @param annotationProperties\n * @returns The command properties to send with the actual annotation command\n * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646\n */\nfunction toCommandProperties(annotationProperties) {\n if (!Object.keys(annotationProperties).length) {\n return {};\n }\n return {\n title: annotationProperties.title,\n file: annotationProperties.file,\n line: annotationProperties.startLine,\n endLine: annotationProperties.endLine,\n col: annotationProperties.startColumn,\n endColumn: annotationProperties.endColumn\n };\n}\nexports.toCommandProperties = toCommandProperties;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Context = void 0;\nconst fs_1 = require(\"fs\");\nconst os_1 = require(\"os\");\nclass Context {\n /**\n * Hydrate the context from the environment\n */\n constructor() {\n var _a, _b, _c;\n this.payload = {};\n if (process.env.GITHUB_EVENT_PATH) {\n if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {\n this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));\n }\n else {\n const path = process.env.GITHUB_EVENT_PATH;\n process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);\n }\n }\n this.eventName = process.env.GITHUB_EVENT_NAME;\n this.sha = process.env.GITHUB_SHA;\n this.ref = process.env.GITHUB_REF;\n this.workflow = process.env.GITHUB_WORKFLOW;\n this.action = process.env.GITHUB_ACTION;\n this.actor = process.env.GITHUB_ACTOR;\n this.job = process.env.GITHUB_JOB;\n this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);\n this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);\n this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;\n this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;\n this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;\n }\n get issue() {\n const payload = this.payload;\n return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });\n }\n get repo() {\n if (process.env.GITHUB_REPOSITORY) {\n const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');\n return { owner, repo };\n }\n if (this.payload.repository) {\n return {\n owner: this.payload.repository.owner.login,\n repo: this.payload.repository.name\n };\n }\n throw new Error(\"context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'\");\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokit = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst utils_1 = require(\"./utils\");\nexports.context = new Context.Context();\n/**\n * Returns a hydrated octokit ready to use for GitHub Actions\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokit(token, options, ...additionalPlugins) {\n const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);\n return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));\n}\nexports.getOctokit = getOctokit;\n//# sourceMappingURL=github.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;\nconst httpClient = __importStar(require(\"@actions/http-client\"));\nfunction getAuthString(token, options) {\n if (!token && !options.auth) {\n throw new Error('Parameter token or opts.auth is required');\n }\n else if (token && options.auth) {\n throw new Error('Parameters token and opts.auth may not both be specified');\n }\n return typeof options.auth === 'string' ? options.auth : `token ${token}`;\n}\nexports.getAuthString = getAuthString;\nfunction getProxyAgent(destinationUrl) {\n const hc = new httpClient.HttpClient();\n return hc.getAgent(destinationUrl);\n}\nexports.getProxyAgent = getProxyAgent;\nfunction getApiBaseUrl() {\n return process.env['GITHUB_API_URL'] || 'https://api.github.com';\n}\nexports.getApiBaseUrl = getApiBaseUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;\nconst Context = __importStar(require(\"./context\"));\nconst Utils = __importStar(require(\"./internal/utils\"));\n// octokit + plugins\nconst core_1 = require(\"@octokit/core\");\nconst plugin_rest_endpoint_methods_1 = require(\"@octokit/plugin-rest-endpoint-methods\");\nconst plugin_paginate_rest_1 = require(\"@octokit/plugin-paginate-rest\");\nexports.context = new Context.Context();\nconst baseUrl = Utils.getApiBaseUrl();\nexports.defaults = {\n baseUrl,\n request: {\n agent: Utils.getProxyAgent(baseUrl)\n }\n};\nexports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);\n/**\n * Convience function to correctly format Octokit Options to pass into the constructor.\n *\n * @param token the repo PAT or GITHUB_TOKEN\n * @param options other options to set\n */\nfunction getOctokitOptions(token, options) {\n const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller\n // Auth\n const auth = Utils.getAuthString(token, opts);\n if (auth) {\n opts.auth = auth;\n }\n return opts;\n}\nexports.getOctokitOptions = getOctokitOptions;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;\nclass BasicCredentialHandler {\n constructor(username, password) {\n this.username = username;\n this.password = password;\n }\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BasicCredentialHandler = BasicCredentialHandler;\nclass BearerCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Bearer ${this.token}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.BearerCredentialHandler = BearerCredentialHandler;\nclass PersonalAccessTokenCredentialHandler {\n constructor(token) {\n this.token = token;\n }\n // currently implements pre-authorization\n // TODO: support preAuth = false where it hooks on 401\n prepareRequest(options) {\n if (!options.headers) {\n throw Error('The request has no headers');\n }\n options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;\n }\n // This handler cannot handle 401\n canHandleAuthentication() {\n return false;\n }\n handleAuthentication() {\n return __awaiter(this, void 0, void 0, function* () {\n throw new Error('not implemented');\n });\n }\n}\nexports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;\n//# sourceMappingURL=auth.js.map","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers = exports.Headers || (exports.Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nexports.getProxyUrl = getProxyUrl;\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nexports.isHttps = isHttps;\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = userAgent;\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl, obj, additionalHeaders = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n clientHeader = lowercaseKeys(this.requestOptions.headers)[header];\n }\n return additionalHeaders[header] || clientHeader || _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (this._keepAlive && !useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if reusing agent across request and tunneling agent isn't assigned create a new agent\n if (this._keepAlive && !agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n // if not using private agent and tunnel agent isn't setup then use global agent\n if (!agent) {\n agent = usingSsl ? https.globalAgent : http.globalAgent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkBypass = exports.getProxyUrl = void 0;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n return new URL(proxyVar);\n }\n else {\n return undefined;\n }\n}\nexports.getProxyUrl = getProxyUrl;\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nexports.checkBypass = checkBypass;\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\n//# sourceMappingURL=proxy.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType\n };\n}\n\n/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nfunction withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n\n return `token ${token}`;\n}\n\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n\nconst createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\n\nexports.createTokenAuth = createTokenAuth;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar universalUserAgent = require('universal-user-agent');\nvar beforeAfterHook = require('before-after-hook');\nvar request = require('@octokit/request');\nvar graphql = require('@octokit/graphql');\nvar authToken = require('@octokit/auth-token');\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nconst VERSION = \"3.6.0\";\n\nconst _excluded = [\"authStrategy\"];\nclass Octokit {\n constructor(options = {}) {\n const hook = new beforeAfterHook.Collection();\n const requestDefaults = {\n baseUrl: request.request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n }; // prepend default user agent with `options.userAgent` if set\n\n requestDefaults.headers[\"user-agent\"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(\" \");\n\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n\n this.request = request.request.defaults(requestDefaults);\n this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => {},\n info: () => {},\n warn: console.warn.bind(console),\n error: console.error.bind(console)\n }, options.log);\n this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n // (2)\n const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const {\n authStrategy\n } = options,\n otherOptions = _objectWithoutProperties(options, _excluded);\n\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n }, options.auth)); // @ts-ignore ¯\\_(ツ)_/¯\n\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n } // apply plugins\n // https://stackoverflow.com/a/16345172\n\n\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach(plugin => {\n Object.assign(this, plugin(this, options));\n });\n }\n\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null));\n }\n\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n\n\n static plugin(...newPlugins) {\n var _a;\n\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);\n return NewOctokit;\n }\n\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n\nexports.Octokit = Octokit;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isPlainObject = require('is-plain-object');\nvar universalUserAgent = require('universal-user-agent');\n\nfunction lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach(key => {\n if (isPlainObject.isPlainObject(options[key])) {\n if (!(key in defaults)) Object.assign(result, {\n [key]: options[key]\n });else result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, {\n [key]: options[key]\n });\n }\n });\n return result;\n}\n\nfunction removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n\n return obj;\n}\n\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? {\n method,\n url\n } : {\n url: method\n }, options);\n } else {\n options = Object.assign({}, route);\n } // lowercase header names before merging with defaults to avoid duplicates\n\n\n options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging\n\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten\n\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);\n }\n\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n\nfunction addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n\n if (names.length === 0) {\n return url;\n }\n\n return url + separator + names.map(name => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\n\nconst urlVariableRegex = /\\{[^}]+\\}/g;\n\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\n\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n\n if (!matches) {\n return [];\n }\n\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n\nfunction omit(object, keysToOmit) {\n return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n\n// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n\n return part;\n }).join(\"\");\n}\n\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\n\nfunction getValues(context, operator, key, modifier) {\n var value = context[key],\n result = [];\n\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n } else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n\n return result;\n}\n\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\n\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n\n if (operator && operator !== \"+\") {\n var separator = \",\";\n\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n });\n}\n\nfunction parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible\n\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"mediaType\"]); // extract variable names from URL to calculate remaining variables later\n\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n\n const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(\",\");\n }\n\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n } // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n\n\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n } else {\n headers[\"content-length\"] = 0;\n }\n }\n } // default content-type for JSON if body is set\n\n\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n\n\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n } // Only return body/request keys if present\n\n\n return Object.assign({\n method,\n url,\n headers\n }, typeof body !== \"undefined\" ? {\n body\n } : null, options.request ? {\n request: options.request\n } : null);\n}\n\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\n\nconst VERSION = \"6.0.12\";\n\nconst userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\n\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\",\n previews: []\n }\n};\n\nconst endpoint = withDefaults(null, DEFAULTS);\n\nexports.endpoint = endpoint;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar request = require('@octokit/request');\nvar universalUserAgent = require('universal-user-agent');\n\nconst VERSION = \"4.8.0\";\n\nfunction _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\\n` + data.errors.map(e => ` - ${e.message}`).join(\"\\n\");\n}\n\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\"; // Expose the errors and response data in their shorthand properties.\n\n this.errors = response.errors;\n this.data = response.data; // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n\n}\n\nconst NON_VARIABLE_OPTIONS = [\"method\", \"baseUrl\", \"url\", \"headers\", \"request\", \"query\", \"mediaType\"];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n\n const parsedOptions = typeof query === \"string\" ? Object.assign({\n query\n }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n\n if (!result.variables) {\n result.variables = {};\n }\n\n result.variables[key] = parsedOptions[key];\n return result;\n }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n\n return request(requestOptions).then(response => {\n if (response.data.errors) {\n const headers = {};\n\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n\n return response.data.data;\n });\n}\n\nfunction withDefaults(request$1, newDefaults) {\n const newRequest = request$1.defaults(newDefaults);\n\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: request.request.endpoint\n });\n}\n\nconst graphql$1 = withDefaults(request.request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\n\nexports.GraphqlResponseError = GraphqlResponseError;\nexports.graphql = graphql$1;\nexports.withCustomRequest = withCustomRequest;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst VERSION = \"2.21.3\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\n/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nfunction normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return _objectSpread2(_objectSpread2({}, response), {}, {\n data: []\n });\n }\n\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n\n response.data.total_count = totalCount;\n return response;\n}\n\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url) return {\n done: true\n };\n\n try {\n const response = await requestMethod({\n method,\n url,\n headers\n });\n const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return {\n value: normalizedResponse\n };\n } catch (error) {\n if (error.status !== 409) throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n\n })\n };\n}\n\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\n\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then(result => {\n if (result.done) {\n return results;\n }\n\n let earlyExit = false;\n\n function done() {\n earlyExit = true;\n }\n\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n\n if (earlyExit) {\n return results;\n }\n\n return gather(octokit, results, iterator, mapFn);\n });\n}\n\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\n\nconst paginatingEndpoints = [\"GET /app/hook/deliveries\", \"GET /app/installations\", \"GET /applications/grants\", \"GET /authorizations\", \"GET /enterprises/{enterprise}/actions/permissions/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\", \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\", \"GET /enterprises/{enterprise}/actions/runners\", \"GET /enterprises/{enterprise}/audit-log\", \"GET /enterprises/{enterprise}/secret-scanning/alerts\", \"GET /enterprises/{enterprise}/settings/billing/advanced-security\", \"GET /events\", \"GET /gists\", \"GET /gists/public\", \"GET /gists/starred\", \"GET /gists/{gist_id}/comments\", \"GET /gists/{gist_id}/commits\", \"GET /gists/{gist_id}/forks\", \"GET /installation/repositories\", \"GET /issues\", \"GET /licenses\", \"GET /marketplace_listing/plans\", \"GET /marketplace_listing/plans/{plan_id}/accounts\", \"GET /marketplace_listing/stubbed/plans\", \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\", \"GET /networks/{owner}/{repo}/events\", \"GET /notifications\", \"GET /organizations\", \"GET /orgs/{org}/actions/cache/usage-by-repository\", \"GET /orgs/{org}/actions/permissions/repositories\", \"GET /orgs/{org}/actions/runner-groups\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\", \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\", \"GET /orgs/{org}/actions/runners\", \"GET /orgs/{org}/actions/secrets\", \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/audit-log\", \"GET /orgs/{org}/blocks\", \"GET /orgs/{org}/code-scanning/alerts\", \"GET /orgs/{org}/codespaces\", \"GET /orgs/{org}/credential-authorizations\", \"GET /orgs/{org}/dependabot/secrets\", \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\", \"GET /orgs/{org}/events\", \"GET /orgs/{org}/external-groups\", \"GET /orgs/{org}/failed_invitations\", \"GET /orgs/{org}/hooks\", \"GET /orgs/{org}/hooks/{hook_id}/deliveries\", \"GET /orgs/{org}/installations\", \"GET /orgs/{org}/invitations\", \"GET /orgs/{org}/invitations/{invitation_id}/teams\", \"GET /orgs/{org}/issues\", \"GET /orgs/{org}/members\", \"GET /orgs/{org}/migrations\", \"GET /orgs/{org}/migrations/{migration_id}/repositories\", \"GET /orgs/{org}/outside_collaborators\", \"GET /orgs/{org}/packages\", \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", \"GET /orgs/{org}/projects\", \"GET /orgs/{org}/public_members\", \"GET /orgs/{org}/repos\", \"GET /orgs/{org}/secret-scanning/alerts\", \"GET /orgs/{org}/settings/billing/advanced-security\", \"GET /orgs/{org}/team-sync/groups\", \"GET /orgs/{org}/teams\", \"GET /orgs/{org}/teams/{team_slug}/discussions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\", \"GET /orgs/{org}/teams/{team_slug}/invitations\", \"GET /orgs/{org}/teams/{team_slug}/members\", \"GET /orgs/{org}/teams/{team_slug}/projects\", \"GET /orgs/{org}/teams/{team_slug}/repos\", \"GET /orgs/{org}/teams/{team_slug}/teams\", \"GET /projects/columns/{column_id}/cards\", \"GET /projects/{project_id}/collaborators\", \"GET /projects/{project_id}/columns\", \"GET /repos/{owner}/{repo}/actions/artifacts\", \"GET /repos/{owner}/{repo}/actions/caches\", \"GET /repos/{owner}/{repo}/actions/runners\", \"GET /repos/{owner}/{repo}/actions/runs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\", \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\", \"GET /repos/{owner}/{repo}/actions/secrets\", \"GET /repos/{owner}/{repo}/actions/workflows\", \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\", \"GET /repos/{owner}/{repo}/assignees\", \"GET /repos/{owner}/{repo}/branches\", \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\", \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\", \"GET /repos/{owner}/{repo}/code-scanning/alerts\", \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", \"GET /repos/{owner}/{repo}/code-scanning/analyses\", \"GET /repos/{owner}/{repo}/codespaces\", \"GET /repos/{owner}/{repo}/codespaces/devcontainers\", \"GET /repos/{owner}/{repo}/codespaces/secrets\", \"GET /repos/{owner}/{repo}/collaborators\", \"GET /repos/{owner}/{repo}/comments\", \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/commits\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\", \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\", \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\", \"GET /repos/{owner}/{repo}/commits/{ref}/status\", \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\", \"GET /repos/{owner}/{repo}/contributors\", \"GET /repos/{owner}/{repo}/dependabot/secrets\", \"GET /repos/{owner}/{repo}/deployments\", \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\", \"GET /repos/{owner}/{repo}/environments\", \"GET /repos/{owner}/{repo}/events\", \"GET /repos/{owner}/{repo}/forks\", \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\", \"GET /repos/{owner}/{repo}/hooks\", \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\", \"GET /repos/{owner}/{repo}/invitations\", \"GET /repos/{owner}/{repo}/issues\", \"GET /repos/{owner}/{repo}/issues/comments\", \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/issues/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\", \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\", \"GET /repos/{owner}/{repo}/keys\", \"GET /repos/{owner}/{repo}/labels\", \"GET /repos/{owner}/{repo}/milestones\", \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\", \"GET /repos/{owner}/{repo}/notifications\", \"GET /repos/{owner}/{repo}/pages/builds\", \"GET /repos/{owner}/{repo}/projects\", \"GET /repos/{owner}/{repo}/pulls\", \"GET /repos/{owner}/{repo}/pulls/comments\", \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\", \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\", \"GET /repos/{owner}/{repo}/releases\", \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\", \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts\", \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\", \"GET /repos/{owner}/{repo}/stargazers\", \"GET /repos/{owner}/{repo}/subscribers\", \"GET /repos/{owner}/{repo}/tags\", \"GET /repos/{owner}/{repo}/teams\", \"GET /repos/{owner}/{repo}/topics\", \"GET /repositories\", \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\", \"GET /search/code\", \"GET /search/commits\", \"GET /search/issues\", \"GET /search/labels\", \"GET /search/repositories\", \"GET /search/topics\", \"GET /search/users\", \"GET /teams/{team_id}/discussions\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments\", \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\", \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\", \"GET /teams/{team_id}/invitations\", \"GET /teams/{team_id}/members\", \"GET /teams/{team_id}/projects\", \"GET /teams/{team_id}/repos\", \"GET /teams/{team_id}/teams\", \"GET /user/blocks\", \"GET /user/codespaces\", \"GET /user/codespaces/secrets\", \"GET /user/emails\", \"GET /user/followers\", \"GET /user/following\", \"GET /user/gpg_keys\", \"GET /user/installations\", \"GET /user/installations/{installation_id}/repositories\", \"GET /user/issues\", \"GET /user/keys\", \"GET /user/marketplace_purchases\", \"GET /user/marketplace_purchases/stubbed\", \"GET /user/memberships/orgs\", \"GET /user/migrations\", \"GET /user/migrations/{migration_id}/repositories\", \"GET /user/orgs\", \"GET /user/packages\", \"GET /user/packages/{package_type}/{package_name}/versions\", \"GET /user/public_emails\", \"GET /user/repos\", \"GET /user/repository_invitations\", \"GET /user/starred\", \"GET /user/subscriptions\", \"GET /user/teams\", \"GET /users\", \"GET /users/{username}/events\", \"GET /users/{username}/events/orgs/{org}\", \"GET /users/{username}/events/public\", \"GET /users/{username}/followers\", \"GET /users/{username}/following\", \"GET /users/{username}/gists\", \"GET /users/{username}/gpg_keys\", \"GET /users/{username}/keys\", \"GET /users/{username}/orgs\", \"GET /users/{username}/packages\", \"GET /users/{username}/projects\", \"GET /users/{username}/received_events\", \"GET /users/{username}/received_events/public\", \"GET /users/{username}/repos\", \"GET /users/{username}/starred\", \"GET /users/{username}/subscriptions\"];\n\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\n\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\n\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\n\nexports.composePaginateRest = composePaginateRest;\nexports.isPaginatingEndpoint = isPaginatingEndpoint;\nexports.paginateRest = paginateRest;\nexports.paginatingEndpoints = paginatingEndpoints;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nconst Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\"POST /orgs/{org}/actions/runners/{runner_id}/labels\"],\n addCustomLabelsToSelfHostedRunnerForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n approveWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"],\n cancelWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"],\n createOrUpdateEnvironmentSecret: [\"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n createRegistrationTokenForOrg: [\"POST /orgs/{org}/actions/runners/registration-token\"],\n createRegistrationTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/registration-token\"],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\"POST /repos/{owner}/{repo}/actions/runners/remove-token\"],\n createWorkflowDispatch: [\"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"],\n deleteActionsCacheById: [\"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"],\n deleteActionsCacheByKey: [\"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"],\n deleteArtifact: [\"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n deleteEnvironmentSecret: [\"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n deleteSelfHostedRunnerFromOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}\"],\n deleteSelfHostedRunnerFromRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n disableSelectedRepositoryGithubActionsOrganization: [\"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n disableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"],\n downloadArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"],\n downloadJobLogsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"],\n downloadWorkflowRunAttemptLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"],\n downloadWorkflowRunLogs: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"],\n enableSelectedRepositoryGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"],\n enableWorkflow: [\"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\"GET /orgs/{org}/actions/cache/usage-by-repository\"],\n getActionsCacheUsageForEnterprise: [\"GET /enterprises/{enterprise}/actions/cache/usage\"],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\"GET /orgs/{org}/actions/permissions/selected-actions\"],\n getAllowedActionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"],\n getEnvironmentSecret: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions/workflow\"],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/workflow\"],\n getGithubActionsPermissionsOrganization: [\"GET /orgs/{org}/actions/permissions\"],\n getGithubActionsPermissionsRepository: [\"GET /repos/{owner}/{repo}/actions/permissions\"],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n getRepoPermissions: [\"GET /repos/{owner}/{repo}/actions/permissions\", {}, {\n renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"]\n }],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\"GET /repos/{owner}/{repo}/actions/permissions/access\"],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"],\n getWorkflowRunUsage: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"],\n getWorkflowUsage: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\"GET /repositories/{repository_id}/environments/{environment_name}/secrets\"],\n listJobsForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"],\n listJobsForWorkflowRunAttempt: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"],\n listLabelsForSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}/labels\"],\n listLabelsForSelfHostedRunnerForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\"GET /repos/{owner}/{repo}/actions/runners/downloads\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\"GET /orgs/{org}/actions/permissions/repositories\"],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"],\n listWorkflowRuns: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"],\n reviewPendingDeploymentsForRun: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"],\n setAllowedActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/selected-actions\"],\n setAllowedActionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForOrg: [\"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"],\n setCustomLabelsForSelfHostedRunnerForRepo: [\"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions/workflow\"],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"],\n setGithubActionsPermissionsOrganization: [\"PUT /orgs/{org}/actions/permissions\"],\n setGithubActionsPermissionsRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\"PUT /orgs/{org}/actions/permissions/repositories\"],\n setWorkflowAccessToRepository: [\"PUT /repos/{owner}/{repo}/actions/permissions/access\"]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\"DELETE /notifications/threads/{thread_id}/subscription\"],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\"GET /notifications/threads/{thread_id}/subscription\"],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\"GET /users/{username}/events/orgs/{org}\"],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\"GET /users/{username}/received_events/public\"],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/notifications\"],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\"PUT /notifications/threads/{thread_id}/subscription\"],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"]\n }],\n addRepoToInstallationForAuthenticatedUser: [\"PUT /user/installations/{installation_id}/repositories/{repository_id}\"],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\"POST /app/installations/{installation_id}/access_tokens\"],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\"GET /marketplace_listing/accounts/{account_id}\"],\n getSubscriptionPlanForAccountStubbed: [\"GET /marketplace_listing/stubbed/accounts/{account_id}\"],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"],\n listInstallationReposForAuthenticatedUser: [\"GET /user/installations/{installation_id}/repositories\"],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\"GET /user/marketplace_purchases/stubbed\"],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\"POST /app/hook/deliveries/{delivery_id}/attempts\"],\n removeRepoFromInstallation: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\", {}, {\n renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"]\n }],\n removeRepoFromInstallationForAuthenticatedUser: [\"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\"DELETE /app/installations/{installation_id}/suspended\"],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\"GET /users/{username}/settings/billing/actions\"],\n getGithubAdvancedSecurityBillingGhe: [\"GET /enterprises/{enterprise}/settings/billing/advanced-security\"],\n getGithubAdvancedSecurityBillingOrg: [\"GET /orgs/{org}/settings/billing/advanced-security\"],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\"GET /users/{username}/settings/billing/packages\"],\n getSharedStorageBillingOrg: [\"GET /orgs/{org}/settings/billing/shared-storage\"],\n getSharedStorageBillingUser: [\"GET /users/{username}/settings/billing/shared-storage\"]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"],\n rerequestSuite: [\"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"],\n setSuitesPreferences: [\"PATCH /repos/{owner}/{repo}/check-suites/preferences\"],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"],\n getAlert: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\", {}, {\n renamedParameters: {\n alert_id: \"alert_number\"\n }\n }],\n getAnalysis: [\"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\", {}, {\n renamed: [\"codeScanning\", \"listAlertInstances\"]\n }],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n codespaceMachinesForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/machines\"],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n createOrUpdateSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}\"],\n createWithPrForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"],\n createWithRepoForAuthenticatedUser: [\"POST /repos/{owner}/{repo}/codespaces\"],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n deleteSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}\"],\n exportForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/exports\"],\n getExportDetailsForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}/exports/{export_id}\"],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\"GET /user/codespaces/secrets/public-key\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"],\n getSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}\"],\n listDevcontainersInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/devcontainers\"],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\"GET /orgs/{org}/codespaces\", {}, {\n renamedParameters: {\n org_id: \"org\"\n }\n }],\n listInRepositoryForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\"GET /user/codespaces/secrets/{secret_name}/repositories\"],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"],\n repoMachinesForAuthenticatedUser: [\"GET /repos/{owner}/{repo}/codespaces/machines\"],\n setRepositoriesForSecretForAuthenticatedUser: [\"PUT /user/codespaces/secrets/{secret_name}/repositories\"],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"],\n removeSelectedRepoFromOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"],\n setSelectedReposForOrgSecret: [\"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"],\n diffRange: [\"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"]\n },\n emojis: {\n get: [\"GET /emojis\"]\n },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n disableSelectedOrganizationGithubActionsEnterprise: [\"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n enableSelectedOrganizationGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\"],\n getAllowedActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n getGithubActionsPermissionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions\"],\n getServerStatistics: [\"GET /enterprise-installation/{enterprise_or_org}/server-statistics\"],\n listLabelsForSelfHostedRunnerForEnterprise: [\"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\"GET /enterprises/{enterprise}/actions/permissions/organizations\"],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\"],\n setAllowedActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\"],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\"],\n setGithubActionsPermissionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions\"],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\"PUT /enterprises/{enterprise}/actions/permissions/organizations\"]\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\"GET /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"]\n }],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\"DELETE /repos/{owner}/{repo}/interaction-limits\"],\n removeRestrictionsForYourPublicRepos: [\"DELETE /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"]\n }],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\"PUT /user/interaction-limits\", {}, {\n renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"]\n }]\n },\n issues: {\n addAssignees: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n removeAssignees: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"],\n removeLabel: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\"POST /markdown/raw\", {\n headers: {\n \"content-type\": \"text/plain; charset=utf-8\"\n }\n }]\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/archive\"],\n deleteArchiveForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/archive\"],\n downloadArchiveForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/archive\"],\n getArchiveForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/archive\"],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\"GET /user/migrations/{migration_id}/repositories\"],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\"GET /user/migrations/{migration_id}/repositories\", {}, {\n renamed: [\"migrations\", \"listReposForAuthenticatedUser\"]\n }],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"],\n unlockRepoForOrg: [\"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\"PUT /orgs/{org}/outside_collaborators/{username}\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\"DELETE /orgs/{org}/outside_collaborators/{username}\"],\n removePublicMembershipForAuthenticatedUser: [\"DELETE /orgs/{org}/public_members/{username}\"],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\"PUT /orgs/{org}/public_members/{username}\"],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\"PATCH /user/memberships/orgs/{org}\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}\"],\n deletePackageForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"],\n deletePackageForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}\"],\n deletePackageVersionForAuthenticatedUser: [\"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForOrg: [\"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n deletePackageVersionForUser: [\"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"]\n }],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\", {}, {\n renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"]\n }],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByOrg: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"],\n getAllPackageVersionsForPackageOwnedByUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions\"],\n getPackageForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}\"],\n getPackageForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}\"],\n getPackageForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}\"],\n getPackageVersionForAuthenticatedUser: [\"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForOrganization: [\"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n getPackageVersionForUser: [\"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"],\n restorePackageVersionForAuthenticatedUser: [\"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForOrg: [\"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"],\n restorePackageVersionForUser: [\"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\"GET /projects/{project_id}/collaborators/{username}/permission\"],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\"DELETE /projects/{project_id}/collaborators/{username}\"],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n deletePendingReview: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n deleteReviewComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n dismissReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n listReviewComments: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n requestReviewers: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"],\n submitReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"],\n updateReview: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"],\n updateReviewComment: [\"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"]\n },\n rateLimit: {\n get: [\"GET /rate_limit\"]\n },\n reactions: {\n createForCommitComment: [\"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n createForIssue: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n createForIssueComment: [\"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n createForPullRequestReviewComment: [\"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n createForRelease: [\"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n createForTeamDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n createForTeamDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"],\n deleteForCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForIssue: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"],\n deleteForIssueComment: [\"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForPullRequestComment: [\"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"],\n deleteForRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"],\n deleteForTeamDiscussion: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"],\n deleteForTeamDiscussionComment: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"],\n listForCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"],\n listForPullRequestReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"],\n listForRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"],\n listForTeamDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"],\n listForTeamDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"]\n },\n repos: {\n acceptInvitation: [\"PATCH /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"]\n }],\n acceptInvitationForAuthenticatedUser: [\"PATCH /user/repository_invitations/{invitation_id}\"],\n addAppAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n addTeamAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n addUserAccessRestrictions: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\"GET /repos/{owner}/{repo}/vulnerability-alerts\"],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\"GET /repos/{owner}/{repo}/compare/{basehead}\"],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n createCommitSignatureProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\"PUT /repos/{owner}/{repo}/environments/{environment_name}\"],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\"POST /repos/{template_owner}/{template_repo}/generate\"],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\"DELETE /user/repository_invitations/{invitation_id}\", {}, {\n renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"]\n }],\n declineInvitationForAuthenticatedUser: [\"DELETE /user/repository_invitations/{invitation_id}\"],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n deleteAdminBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n deleteAnEnvironment: [\"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n deleteTagProtection: [\"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\"DELETE /repos/{owner}/{repo}/automated-security-fixes\"],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"],\n downloadArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\", {}, {\n renamed: [\"repos\", \"downloadZipballArchive\"]\n }],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\"PUT /repos/{owner}/{repo}/automated-security-fixes\"],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\"PUT /repos/{owner}/{repo}/vulnerability-alerts\"],\n generateReleaseNotes: [\"POST /repos/{owner}/{repo}/releases/generate-notes\"],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"],\n getAdminBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"],\n getEnvironment: [\"GET /repos/{owner}/{repo}/environments/{environment_name}\"],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n getTeamsWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"],\n listReleaseAssets: [\"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"],\n removeAppAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n removeCollaborator: [\"DELETE /repos/{owner}/{repo}/collaborators/{username}\"],\n removeStatusCheckContexts: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n removeStatusCheckProtection: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n removeTeamAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n removeUserAccessRestrictions: [\"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"],\n setAppAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\", {}, {\n mapToData: \"apps\"\n }],\n setStatusCheckContexts: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\", {}, {\n mapToData: \"contexts\"\n }],\n setTeamAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\", {}, {\n mapToData: \"teams\"\n }],\n setUserAccessRestrictions: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\", {}, {\n mapToData: \"users\"\n }],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"],\n updatePullRequestReviewProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n updateStatusCheckPotection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\", {}, {\n renamed: [\"repos\", \"updateStatusCheckProtection\"]\n }],\n updateStatusCheckProtection: [\"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"],\n uploadReleaseAsset: [\"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\", {\n baseUrl: \"https://uploads.github.com\"\n }]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"],\n listAlertsForEnterprise: [\"GET /enterprises/{enterprise}/secret-scanning/alerts\"],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"],\n updateAlert: [\"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n addOrUpdateProjectPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n addOrUpdateRepoPermissionsInOrg: [\"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n checkPermissionsForProjectInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n checkPermissionsForRepoInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n deleteDiscussionInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n getDiscussionInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n getMembershipForUserInOrg: [\"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/invitations\"],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"],\n removeProjectInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"],\n removeRepoInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"],\n updateDiscussionCommentInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"],\n updateDiscussionInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\"POST /user/emails\", {}, {\n renamed: [\"users\", \"addEmailForAuthenticatedUser\"]\n }],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\"POST /user/gpg_keys\", {}, {\n renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"]\n }],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\"POST /user/keys\", {}, {\n renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"]\n }],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\"DELETE /user/emails\", {}, {\n renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"]\n }],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\"DELETE /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"]\n }],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\"DELETE /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"]\n }],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\"GET /user/gpg_keys/{gpg_key_id}\", {}, {\n renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"]\n }],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\"GET /user/keys/{key_id}\", {}, {\n renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"]\n }],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\"GET /user/blocks\", {}, {\n renamed: [\"users\", \"listBlockedByAuthenticatedUser\"]\n }],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\"GET /user/emails\", {}, {\n renamed: [\"users\", \"listEmailsForAuthenticatedUser\"]\n }],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\"GET /user/following\", {}, {\n renamed: [\"users\", \"listFollowedByAuthenticatedUser\"]\n }],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\"GET /user/gpg_keys\", {}, {\n renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"]\n }],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\"GET /user/public_emails\", {}, {\n renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"]\n }],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\"GET /user/keys\", {}, {\n renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"]\n }],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\"PATCH /user/email/visibility\", {}, {\n renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"]\n }],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\"PATCH /user/email/visibility\"],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\n\nconst VERSION = \"5.16.2\";\n\nfunction endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({\n method,\n url\n }, defaults);\n\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n\n const scopeMethods = newMethods[scope];\n\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n\n return newMethods;\n}\n\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`\n\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined\n });\n return requestWithDefaults(options);\n }\n\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n\n delete options[name];\n }\n }\n\n return requestWithDefaults(options);\n } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n\n\n return requestWithDefaults(...args);\n }\n\n return Object.assign(withDecorations, requestWithDefaults);\n}\n\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, Endpoints);\n return _objectSpread2(_objectSpread2({}, api), {}, {\n rest: api\n });\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n\nexports.legacyRestEndpointMethods = legacyRestEndpointMethods;\nexports.restEndpointMethods = restEndpointMethods;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar deprecation = require('deprecation');\nvar once = _interopDefault(require('once'));\n\nconst logOnceCode = once(deprecation => console.warn(deprecation));\nconst logOnceHeaders = once(deprecation => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\n\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n } // redact request credentials without mutating original request options\n\n\n const requestCopy = Object.assign({}, options.request);\n\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\")\n });\n }\n\n requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\") // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy; // deprecations\n\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new deprecation.Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n }\n\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new deprecation.Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n }\n\n });\n }\n\n}\n\nexports.RequestError = RequestError;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar endpoint = require('@octokit/endpoint');\nvar universalUserAgent = require('universal-user-agent');\nvar isPlainObject = require('is-plain-object');\nvar nodeFetch = _interopDefault(require('node-fetch'));\nvar requestError = require('@octokit/request-error');\n\nconst VERSION = \"5.6.3\";\n\nfunction getBufferResponse(response) {\n return response.arrayBuffer();\n}\n\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n\n if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n\n let headers = {};\n let status;\n let url;\n const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect\n }, // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request)).then(async response => {\n url = response.url;\n status = response.status;\n\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n\n if (status === 204 || status === 205) {\n return;\n } // GitHub API returns 200 for HEAD requests\n\n\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n\n throw new requestError.RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined\n },\n request: requestOptions\n });\n }\n\n if (status === 304) {\n throw new requestError.RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new requestError.RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n\n return getResponseData(response);\n }).then(data => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch(error => {\n if (error instanceof requestError.RequestError) throw error;\n throw new requestError.RequestError(error.message, 500, {\n request: requestOptions\n });\n });\n}\n\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n\n return getBufferResponse(response);\n}\n\nfunction toErrorMessage(data) {\n if (typeof data === \"string\") return data; // istanbul ignore else - just in case\n\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n\n return data.message;\n } // istanbul ignore next - just in case\n\n\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\n\nconst request = withDefaults(endpoint.endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`\n }\n});\n\nexports.request = request;\n//# sourceMappingURL=index.js.map\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nclass Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexports.Deprecation = Deprecation;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Stream = _interopDefault(require('stream'));\nvar http = _interopDefault(require('http'));\nvar Url = _interopDefault(require('url'));\nvar whatwgUrl = _interopDefault(require('whatwg-url'));\nvar https = _interopDefault(require('https'));\nvar zlib = _interopDefault(require('zlib'));\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\tif (!headers.has('Connection') && !agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nmodule.exports = exports = fetch;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = exports;\nexports.Headers = Headers;\nexports.Request = Request;\nexports.Response = Response;\nexports.FetchError = FetchError;\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n\n return \"\";\n}\n\nexports.getUserAgent = getUserAgent;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n",null,"module.exports = require(\"assert\");","module.exports = require(\"child_process\");","module.exports = require(\"crypto\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"net\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tls\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3109);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/main/index.js b/dist/main/index.js new file mode 100644 index 00000000..752343af --- /dev/null +++ b/dist/main/index.js @@ -0,0 +1,7 @@ +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${e}', database is '${a}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const u=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+u.slice(0,100)+"...TRUNCATED..."+u.slice(-100));yield(0,m.callAsync)(`echo "${u}" | base64 --decode > pic.png`);const c=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,c)}"`);yield(0,m.callAsync)(`rm pic.png`);const v=o.default.join(e,a,c);n.debug("fullPictureUri: "+v);return`${v}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/dist/licenses.txt b/dist/main/licenses.txt similarity index 100% rename from dist/licenses.txt rename to dist/main/licenses.txt diff --git a/dist/post/index.js b/dist/post/index.js new file mode 100644 index 00000000..f3d6a22f --- /dev/null +++ b/dist/post/index.js @@ -0,0 +1 @@ +(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.debug(`Call #${i} async with secrets failed - on close`);else a.debug(`Call #${i} async failed - on close:\n${c}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.debug(`Call #${i} async with secrets failed - on error`);else a.debug(`Call #${i} async failed - on error:\n${e}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file diff --git a/dist/post/licenses.txt b/dist/post/licenses.txt new file mode 100644 index 00000000..e36f87ae --- /dev/null +++ b/dist/post/licenses.txt @@ -0,0 +1,73 @@ +@actions/core +MIT +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +@actions/http-client +MIT +Actions Http Client for Node.js + +Copyright (c) GitHub, Inc. + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +tunnel +MIT +The MIT License (MIT) + +Copyright (c) 2012 Koichi Kobayashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +uuid +MIT +The MIT License (MIT) + +Copyright (c) 2010-2020 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dist/sourcemap-register.js b/dist/sourcemap-register.js deleted file mode 100644 index 466141d4..00000000 --- a/dist/sourcemap-register.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e{var t=n(190);var o=5;var i=1<>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n{var t;var o=n(339);var i=n(345);var a=n(274).I;var u=n(449);var s=n(758).U;function SourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}return n.sections!=null?new IndexedSourceMapConsumer(n,r):new BasicSourceMapConsumer(n,r)}SourceMapConsumer.fromSourceMap=function(e,r){return BasicSourceMapConsumer.fromSourceMap(e,r)};SourceMapConsumer.prototype._version=3;SourceMapConsumer.prototype.__generatedMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_generatedMappings",{configurable:true,enumerable:true,get:function(){if(!this.__generatedMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__generatedMappings}});SourceMapConsumer.prototype.__originalMappings=null;Object.defineProperty(SourceMapConsumer.prototype,"_originalMappings",{configurable:true,enumerable:true,get:function(){if(!this.__originalMappings){this._parseMappings(this._mappings,this.sourceRoot)}return this.__originalMappings}});SourceMapConsumer.prototype._charIsMappingSeparator=function SourceMapConsumer_charIsMappingSeparator(e,r){var n=e.charAt(r);return n===";"||n===","};SourceMapConsumer.prototype._parseMappings=function SourceMapConsumer_parseMappings(e,r){throw new Error("Subclasses must implement _parseMappings")};SourceMapConsumer.GENERATED_ORDER=1;SourceMapConsumer.ORIGINAL_ORDER=2;SourceMapConsumer.GREATEST_LOWER_BOUND=1;SourceMapConsumer.LEAST_UPPER_BOUND=2;SourceMapConsumer.prototype.eachMapping=function SourceMapConsumer_eachMapping(e,r,n){var t=r||null;var i=n||SourceMapConsumer.GENERATED_ORDER;var a;switch(i){case SourceMapConsumer.GENERATED_ORDER:a=this._generatedMappings;break;case SourceMapConsumer.ORIGINAL_ORDER:a=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var u=this.sourceRoot;a.map((function(e){var r=e.source===null?null:this._sources.at(e.source);r=o.computeSourceURL(u,r,this._sourceMapURL);return{source:r,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}}),this).forEach(e,t)};SourceMapConsumer.prototype.allGeneratedPositionsFor=function SourceMapConsumer_allGeneratedPositionsFor(e){var r=o.getArg(e,"line");var n={source:o.getArg(e,"source"),originalLine:r,originalColumn:o.getArg(e,"column",0)};n.source=this._findSourceIndex(n.source);if(n.source<0){return[]}var t=[];var a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(a>=0){var u=this._originalMappings[a];if(e.column===undefined){var s=u.originalLine;while(u&&u.originalLine===s){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}else{var l=u.originalColumn;while(u&&u.originalLine===r&&u.originalColumn==l){t.push({line:o.getArg(u,"generatedLine",null),column:o.getArg(u,"generatedColumn",null),lastColumn:o.getArg(u,"lastGeneratedColumn",null)});u=this._originalMappings[++a]}}}return t};r.SourceMapConsumer=SourceMapConsumer;function BasicSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sources");var u=o.getArg(n,"names",[]);var s=o.getArg(n,"sourceRoot",null);var l=o.getArg(n,"sourcesContent",null);var c=o.getArg(n,"mappings");var p=o.getArg(n,"file",null);if(t!=this._version){throw new Error("Unsupported version: "+t)}if(s){s=o.normalize(s)}i=i.map(String).map(o.normalize).map((function(e){return s&&o.isAbsolute(s)&&o.isAbsolute(e)?o.relative(s,e):e}));this._names=a.fromArray(u.map(String),true);this._sources=a.fromArray(i,true);this._absoluteSources=this._sources.toArray().map((function(e){return o.computeSourceURL(s,e,r)}));this.sourceRoot=s;this.sourcesContent=l;this._mappings=c;this._sourceMapURL=r;this.file=p}BasicSourceMapConsumer.prototype=Object.create(SourceMapConsumer.prototype);BasicSourceMapConsumer.prototype.consumer=SourceMapConsumer;BasicSourceMapConsumer.prototype._findSourceIndex=function(e){var r=e;if(this.sourceRoot!=null){r=o.relative(this.sourceRoot,r)}if(this._sources.has(r)){return this._sources.indexOf(r)}var n;for(n=0;n1){v.source=l+_[1];l+=_[1];v.originalLine=i+_[2];i=v.originalLine;v.originalLine+=1;v.originalColumn=a+_[3];a=v.originalColumn;if(_.length>4){v.name=c+_[4];c+=_[4]}}m.push(v);if(typeof v.originalLine==="number"){d.push(v)}}}s(m,o.compareByGeneratedPositionsDeflated);this.__generatedMappings=m;s(d,o.compareByOriginalPositions);this.__originalMappings=d};BasicSourceMapConsumer.prototype._findMapping=function SourceMapConsumer_findMapping(e,r,n,t,o,a){if(e[n]<=0){throw new TypeError("Line must be greater than or equal to 1, got "+e[n])}if(e[t]<0){throw new TypeError("Column must be greater than or equal to 0, got "+e[t])}return i.search(e,r,o,a)};BasicSourceMapConsumer.prototype.computeColumnSpans=function SourceMapConsumer_computeColumnSpans(){for(var e=0;e=0){var t=this._generatedMappings[n];if(t.generatedLine===r.generatedLine){var i=o.getArg(t,"source",null);if(i!==null){i=this._sources.at(i);i=o.computeSourceURL(this.sourceRoot,i,this._sourceMapURL)}var a=o.getArg(t,"name",null);if(a!==null){a=this._names.at(a)}return{source:i,line:o.getArg(t,"originalLine",null),column:o.getArg(t,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}};BasicSourceMapConsumer.prototype.hasContentsOfAllSources=function BasicSourceMapConsumer_hasContentsOfAllSources(){if(!this.sourcesContent){return false}return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return e==null}))};BasicSourceMapConsumer.prototype.sourceContentFor=function SourceMapConsumer_sourceContentFor(e,r){if(!this.sourcesContent){return null}var n=this._findSourceIndex(e);if(n>=0){return this.sourcesContent[n]}var t=e;if(this.sourceRoot!=null){t=o.relative(this.sourceRoot,t)}var i;if(this.sourceRoot!=null&&(i=o.urlParse(this.sourceRoot))){var a=t.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(a)){return this.sourcesContent[this._sources.indexOf(a)]}if((!i.path||i.path=="/")&&this._sources.has("/"+t)){return this.sourcesContent[this._sources.indexOf("/"+t)]}}if(r){return null}else{throw new Error('"'+t+'" is not in the SourceMap.')}};BasicSourceMapConsumer.prototype.generatedPositionFor=function SourceMapConsumer_generatedPositionFor(e){var r=o.getArg(e,"source");r=this._findSourceIndex(r);if(r<0){return{line:null,column:null,lastColumn:null}}var n={source:r,originalLine:o.getArg(e,"line"),originalColumn:o.getArg(e,"column")};var t=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",o.compareByOriginalPositions,o.getArg(e,"bias",SourceMapConsumer.GREATEST_LOWER_BOUND));if(t>=0){var i=this._originalMappings[t];if(i.source===n.source){return{line:o.getArg(i,"generatedLine",null),column:o.getArg(i,"generatedColumn",null),lastColumn:o.getArg(i,"lastGeneratedColumn",null)}}}return{line:null,column:null,lastColumn:null}};t=BasicSourceMapConsumer;function IndexedSourceMapConsumer(e,r){var n=e;if(typeof e==="string"){n=o.parseSourceMapInput(e)}var t=o.getArg(n,"version");var i=o.getArg(n,"sections");if(t!=this._version){throw new Error("Unsupported version: "+t)}this._sources=new a;this._names=new a;var u={line:-1,column:0};this._sections=i.map((function(e){if(e.url){throw new Error("Support for url field in sections not implemented.")}var n=o.getArg(e,"offset");var t=o.getArg(n,"line");var i=o.getArg(n,"column");if(t{var t=n(449);var o=n(339);var i=n(274).I;var a=n(680).H;function SourceMapGenerator(e){if(!e){e={}}this._file=o.getArg(e,"file",null);this._sourceRoot=o.getArg(e,"sourceRoot",null);this._skipValidation=o.getArg(e,"skipValidation",false);this._sources=new i;this._names=new i;this._mappings=new a;this._sourcesContents=null}SourceMapGenerator.prototype._version=3;SourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(e){var r=e.sourceRoot;var n=new SourceMapGenerator({file:e.file,sourceRoot:r});e.eachMapping((function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};if(e.source!=null){t.source=e.source;if(r!=null){t.source=o.relative(r,t.source)}t.original={line:e.originalLine,column:e.originalColumn};if(e.name!=null){t.name=e.name}}n.addMapping(t)}));e.sources.forEach((function(t){var i=t;if(r!==null){i=o.relative(r,t)}if(!n._sources.has(i)){n._sources.add(i)}var a=e.sourceContentFor(t);if(a!=null){n.setSourceContent(t,a)}}));return n};SourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(e){var r=o.getArg(e,"generated");var n=o.getArg(e,"original",null);var t=o.getArg(e,"source",null);var i=o.getArg(e,"name",null);if(!this._skipValidation){this._validateMapping(r,n,t,i)}if(t!=null){t=String(t);if(!this._sources.has(t)){this._sources.add(t)}}if(i!=null){i=String(i);if(!this._names.has(i)){this._names.add(i)}}this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:t,name:i})};SourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(e,r){var n=e;if(this._sourceRoot!=null){n=o.relative(this._sourceRoot,n)}if(r!=null){if(!this._sourcesContents){this._sourcesContents=Object.create(null)}this._sourcesContents[o.toSetString(n)]=r}else if(this._sourcesContents){delete this._sourcesContents[o.toSetString(n)];if(Object.keys(this._sourcesContents).length===0){this._sourcesContents=null}}};SourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(e,r,n){var t=r;if(r==null){if(e.file==null){throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, "+'or the source map\'s "file" property. Both were omitted.')}t=e.file}var a=this._sourceRoot;if(a!=null){t=o.relative(a,t)}var u=new i;var s=new i;this._mappings.unsortedForEach((function(r){if(r.source===t&&r.originalLine!=null){var i=e.originalPositionFor({line:r.originalLine,column:r.originalColumn});if(i.source!=null){r.source=i.source;if(n!=null){r.source=o.join(n,r.source)}if(a!=null){r.source=o.relative(a,r.source)}r.originalLine=i.line;r.originalColumn=i.column;if(i.name!=null){r.name=i.name}}}var l=r.source;if(l!=null&&!u.has(l)){u.add(l)}var c=r.name;if(c!=null&&!s.has(c)){s.add(c)}}),this);this._sources=u;this._names=s;e.sources.forEach((function(r){var t=e.sourceContentFor(r);if(t!=null){if(n!=null){r=o.join(n,r)}if(a!=null){r=o.relative(a,r)}this.setSourceContent(r,t)}}),this)};SourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(e,r,n,t){if(r&&typeof r.line!=="number"&&typeof r.column!=="number"){throw new Error("original.line and original.column are not numbers -- you probably meant to omit "+"the original mapping entirely and only map the generated position. If so, pass "+"null for the original mapping instead of an object with empty or null values.")}if(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0&&!r&&!n&&!t){return}else if(e&&"line"in e&&"column"in e&&r&&"line"in r&&"column"in r&&e.line>0&&e.column>=0&&r.line>0&&r.column>=0&&n){return}else{throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:r,name:t}))}};SourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var e=0;var r=1;var n=0;var i=0;var a=0;var u=0;var s="";var l;var c;var p;var f;var g=this._mappings.toArray();for(var h=0,d=g.length;h0){if(!o.compareByGeneratedPositionsInflated(c,g[h-1])){continue}l+=","}}l+=t.encode(c.generatedColumn-e);e=c.generatedColumn;if(c.source!=null){f=this._sources.indexOf(c.source);l+=t.encode(f-u);u=f;l+=t.encode(c.originalLine-1-i);i=c.originalLine-1;l+=t.encode(c.originalColumn-n);n=c.originalColumn;if(c.name!=null){p=this._names.indexOf(c.name);l+=t.encode(p-a);a=p}}s+=l}return s};SourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(e,r){return e.map((function(e){if(!this._sourcesContents){return null}if(r!=null){e=o.relative(r,e)}var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)};SourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null){e.file=this._file}if(this._sourceRoot!=null){e.sourceRoot=this._sourceRoot}if(this._sourcesContents){e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)}return e};SourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())};r.h=SourceMapGenerator},351:(e,r,n)=>{var t;var o=n(591).h;var i=n(339);var a=/(\r?\n)/;var u=10;var s="$$$isSourceNode$$$";function SourceNode(e,r,n,t,o){this.children=[];this.sourceContents={};this.line=e==null?null:e;this.column=r==null?null:r;this.source=n==null?null:n;this.name=o==null?null:o;this[s]=true;if(t!=null)this.add(t)}SourceNode.fromStringWithSourceMap=function SourceNode_fromStringWithSourceMap(e,r,n){var t=new SourceNode;var o=e.split(a);var u=0;var shiftNextLine=function(){var e=getNextLine();var r=getNextLine()||"";return e+r;function getNextLine(){return u=0;r--){this.prepend(e[r])}}else if(e[s]||typeof e==="string"){this.children.unshift(e)}else{throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e)}return this};SourceNode.prototype.walk=function SourceNode_walk(e){var r;for(var n=0,t=this.children.length;n0){r=[];for(n=0;n{function getArg(e,r,n){if(r in e){return e[r]}else if(arguments.length===3){return n}else{throw new Error('"'+r+'" is a required argument.')}}r.getArg=getArg;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;var t=/^data:.+\,.+$/;function urlParse(e){var r=e.match(n);if(!r){return null}return{scheme:r[1],auth:r[2],host:r[3],port:r[4],path:r[5]}}r.urlParse=urlParse;function urlGenerate(e){var r="";if(e.scheme){r+=e.scheme+":"}r+="//";if(e.auth){r+=e.auth+"@"}if(e.host){r+=e.host}if(e.port){r+=":"+e.port}if(e.path){r+=e.path}return r}r.urlGenerate=urlGenerate;function normalize(e){var n=e;var t=urlParse(e);if(t){if(!t.path){return e}n=t.path}var o=r.isAbsolute(n);var i=n.split(/\/+/);for(var a,u=0,s=i.length-1;s>=0;s--){a=i[s];if(a==="."){i.splice(s,1)}else if(a===".."){u++}else if(u>0){if(a===""){i.splice(s+1,u);u=0}else{i.splice(s,2);u--}}}n=i.join("/");if(n===""){n=o?"/":"."}if(t){t.path=n;return urlGenerate(t)}return n}r.normalize=normalize;function join(e,r){if(e===""){e="."}if(r===""){r="."}var n=urlParse(r);var o=urlParse(e);if(o){e=o.path||"/"}if(n&&!n.scheme){if(o){n.scheme=o.scheme}return urlGenerate(n)}if(n||r.match(t)){return r}if(o&&!o.host&&!o.path){o.host=r;return urlGenerate(o)}var i=r.charAt(0)==="/"?r:normalize(e.replace(/\/+$/,"")+"/"+r);if(o){o.path=i;return urlGenerate(o)}return i}r.join=join;r.isAbsolute=function(e){return e.charAt(0)==="/"||n.test(e)};function relative(e,r){if(e===""){e="."}e=e.replace(/\/$/,"");var n=0;while(r.indexOf(e+"/")!==0){var t=e.lastIndexOf("/");if(t<0){return r}e=e.slice(0,t);if(e.match(/^([^\/]+:\/)?\/*$/)){return r}++n}return Array(n+1).join("../")+r.substr(e.length+1)}r.relative=relative;var o=function(){var e=Object.create(null);return!("__proto__"in e)}();function identity(e){return e}function toSetString(e){if(isProtoString(e)){return"$"+e}return e}r.toSetString=o?identity:toSetString;function fromSetString(e){if(isProtoString(e)){return e.slice(1)}return e}r.fromSetString=o?identity:fromSetString;function isProtoString(e){if(!e){return false}var r=e.length;if(r<9){return false}if(e.charCodeAt(r-1)!==95||e.charCodeAt(r-2)!==95||e.charCodeAt(r-3)!==111||e.charCodeAt(r-4)!==116||e.charCodeAt(r-5)!==111||e.charCodeAt(r-6)!==114||e.charCodeAt(r-7)!==112||e.charCodeAt(r-8)!==95||e.charCodeAt(r-9)!==95){return false}for(var n=r-10;n>=0;n--){if(e.charCodeAt(n)!==36){return false}}return true}function compareByOriginalPositions(e,r,n){var t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0||n){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0){return t}t=e.generatedLine-r.generatedLine;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByOriginalPositions=compareByOriginalPositions;function compareByGeneratedPositionsDeflated(e,r,n){var t=e.generatedLine-r.generatedLine;if(t!==0){return t}t=e.generatedColumn-r.generatedColumn;if(t!==0||n){return t}t=strcmp(e.source,r.source);if(t!==0){return t}t=e.originalLine-r.originalLine;if(t!==0){return t}t=e.originalColumn-r.originalColumn;if(t!==0){return t}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated;function strcmp(e,r){if(e===r){return 0}if(e===null){return 1}if(r===null){return-1}if(e>r){return 1}return-1}function compareByGeneratedPositionsInflated(e,r){var n=e.generatedLine-r.generatedLine;if(n!==0){return n}n=e.generatedColumn-r.generatedColumn;if(n!==0){return n}n=strcmp(e.source,r.source);if(n!==0){return n}n=e.originalLine-r.originalLine;if(n!==0){return n}n=e.originalColumn-r.originalColumn;if(n!==0){return n}return strcmp(e.name,r.name)}r.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated;function parseSourceMapInput(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}r.parseSourceMapInput=parseSourceMapInput;function computeSourceURL(e,r,n){r=r||"";if(e){if(e[e.length-1]!=="/"&&r[0]!=="/"){e+="/"}r=e+r}if(n){var t=urlParse(n);if(!t){throw new Error("sourceMapURL could not be parsed")}if(t.path){var o=t.path.lastIndexOf("/");if(o>=0){t.path=t.path.substring(0,o+1)}}r=join(urlGenerate(t),r)}return normalize(r)}r.computeSourceURL=computeSourceURL},997:(e,r,n)=>{n(591).h;r.SourceMapConsumer=n(952).SourceMapConsumer;n(351)},284:(e,r,n)=>{e=n.nmd(e);var t=n(997).SourceMapConsumer;var o=n(17);var i;try{i=n(147);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(650);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var h=[];var d=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"")}}else if(u){o+="new "+(i||"")}else if(i){o+=i}else{o+=r;a=false}if(a){o+=" ("+r+")"}return o}function cloneCallSite(e){var r={};Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(n){r[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n]}));r.toString=CallSiteToString;return r}function wrapCallSite(e,r){if(r===undefined){r={nextPosition:null,curPosition:null}}if(e.isNative()){r.curPosition=null;return e}var n=e.getFileName()||e.getScriptNameOrSourceURL();if(n){var t=e.getLineNumber();var o=e.getColumnNumber()-1;var i=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/;var a=i.test(globalProcessVersion())?0:62;if(t===1&&o>a&&!isInBrowser()&&!e.isEval()){o-=a}var u=mapSourcePosition({source:n,line:t,column:o});r.curPosition=u;e=cloneCallSite(e);var s=e.getFunctionName;e.getFunctionName=function(){if(r.nextPosition==null){return s()}return r.nextPosition.name||s()};e.getFileName=function(){return u.source};e.getLineNumber=function(){return u.line};e.getColumnNumber=function(){return u.column+1};e.getScriptNameOrSourceURL=function(){return u.source};return e}var l=e.isEval()&&e.getEvalOrigin();if(l){l=mapEvalOrigin(l);e=cloneCallSite(e);e.getEvalOrigin=function(){return l};return e}return e}function prepareStackTrace(e,r){if(l){p={};f={}}var n=e.name||"Error";var t=e.message||"";var o=n+": "+t;var i={nextPosition:null,curPosition:null};var a=[];for(var u=r.length-1;u>=0;u--){a.push("\n at "+wrapCallSite(r[u],i));i.nextPosition=i.curPosition}i.curPosition=i.nextPosition=null;return o+a.reverse().join("")}function getErrorSource(e){var r=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(r){var n=r[1];var t=+r[2];var o=+r[3];var a=p[n];if(!a&&i&&i.existsSync(n)){try{a=i.readFileSync(n,"utf8")}catch(e){a=""}}if(a){var u=a.split(/(?:\r\n|\r|\n)/)[t-1];if(u){return n+":"+t+"\n"+u+"\n"+new Array(o).join(" ")+"^"}}}return null}function printErrorAndExit(e){var r=getErrorSource(e);var n=globalProcessStderr();if(n&&n._handle&&n._handle.setBlocking){n._handle.setBlocking(true)}if(r){console.error();console.error(r)}console.error(e.stack);globalProcessExit(1)}function shimEmitUncaughtException(){var e=process.emit;process.emit=function(r){if(r==="uncaughtException"){var n=arguments[1]&&arguments[1].stack;var t=this.listeners(r).length>0;if(n&&!t){return printErrorAndExit(arguments[1])}}return e.apply(this,arguments)}}var S=h.slice(0);var _=d.slice(0);r.wrapCallSite=wrapCallSite;r.getErrorSource=getErrorSource;r.mapSourcePosition=mapSourcePosition;r.retrieveSourceMap=v;r.install=function(r){r=r||{};if(r.environment){c=r.environment;if(["node","browser","auto"].indexOf(c)===-1){throw new Error("environment "+c+" was unknown. Available options are {auto, browser, node}")}}if(r.retrieveFile){if(r.overrideRetrieveFile){h.length=0}h.unshift(r.retrieveFile)}if(r.retrieveSourceMap){if(r.overrideRetrieveSourceMap){d.length=0}d.unshift(r.retrieveSourceMap)}if(r.hookRequire&&!isInBrowser()){var n=dynamicRequire(e,"module");var t=n.prototype._compile;if(!t.__sourceMapSupport){n.prototype._compile=function(e,r){p[r]=e;f[r]=undefined;return t.call(this,e,r)};n.prototype._compile.__sourceMapSupport=true}}if(!l){l="emptyCacheBetweenOperations"in r?r.emptyCacheBetweenOperations:false}if(!u){u=true;Error.prepareStackTrace=prepareStackTrace}if(!s){var o="handleUncaughtExceptions"in r?r.handleUncaughtExceptions:true;try{var i=dynamicRequire(e,"worker_threads");if(i.isMainThread===false){o=false}}catch(e){}if(o&&hasGlobalProcessEventEmitter()){s=true;shimEmitUncaughtException()}}};r.resetRetrieveHandlers=function(){h.length=0;d.length=0;h=S.slice(0);d=_.slice(0);v=handlerExec(d);m=handlerExec(h)}},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")}};var r={};function __webpack_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={id:n,loaded:false,exports:{}};var i=true;try{e[n](o,o.exports,__webpack_require__);i=false}finally{if(i)delete r[n]}o.loaded=true;return o.exports}(()=>{__webpack_require__.nmd=e=>{e.paths=[];if(!e.children)e.children=[];return e}})();if(typeof __webpack_require__!=="undefined")__webpack_require__.ab=__dirname+"/";var n={};(()=>{__webpack_require__(284).install()})();module.exports=n})(); \ No newline at end of file diff --git a/package.json b/package.json index 0bea45f9..59cc6a3a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "format": "prettier --write '**/*.ts'", "format-check": "prettier --check '**/*.ts'", "lint": "eslint src/**/*.ts", - "package": "ncc build --source-map --license licenses.txt", + "package": "npm run build && ncc build -o dist/main --minify --no-cache --license licenses.txt lib/main.js && ncc build -o dist/post --minify --no-cache --license licenses.txt lib/post.js", "test": "jest", "all": "npm run build && npm run format && npm run lint && npm run package && npm test" }, @@ -42,4 +42,4 @@ "ts-jest": "^29.1.0", "typescript": "^5.0.4" } -} +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 15b1e309..4756e142 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,7 @@ import * as core from '@actions/core' import * as github from '@actions/github' import {parseArguments} from './parseArguments' -import {call, prepareAWS, prepareK8S} from './callExecutables' +import {prepareAWS, prepareK8S} from './callExecutables' import {obtainMutex, releaseMutex} from './mutex' import {createCluster, deleteCluster} from './cluster' import { @@ -251,15 +251,5 @@ async function main(): Promise { } } -const isPostAction = !!core.getState('isPost') - -if (isPostAction) { - core.info('Cleanup') - core.debug('Remove .kube dir') - call('rm -rf ~/.kube') - core.debug('Remove .aws dir') - call('rm -rf ~/.aws') -} else { - core.info('Main SLO action') - main() -} +core.info('Main SLO action') +main() diff --git a/src/post.ts b/src/post.ts new file mode 100644 index 00000000..6b8945ae --- /dev/null +++ b/src/post.ts @@ -0,0 +1,8 @@ +import * as core from '@actions/core' +import {call} from './callExecutables' + +core.info('Cleanup') +core.debug('Remove .kube dir') +call('rm -rf ~/.kube') +core.debug('Remove .aws dir') +call('rm -rf ~/.aws') diff --git a/src/utils/withTimeout.ts b/src/utils/withTimeout.ts index 54f6af7b..d43695ed 100644 --- a/src/utils/withTimeout.ts +++ b/src/utils/withTimeout.ts @@ -29,11 +29,12 @@ export async function withTimeout( ) } -export async function withTimeoutSimple(timeoutS: number, func: Promise) { - return Promise.race([ - func, - new Promise((_, reject) => - setTimeout(reject, timeoutS * 1000) - ) as Promise - ]) +export async function withTimeoutSimple( + timeoutS: number, + func: Promise +): Promise { + const timer: Promise = new Promise((_, reject) => + setTimeout(reject, timeoutS * 1000) + ) + return Promise.race([func, timer]) } From 732685a4f28b25f3de44a8650328b8dd433eef3b Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 29 May 2023 20:02:53 +0300 Subject: [PATCH 42/77] chore: add more logs for calls --- dist/main/index.js | 2 +- dist/post/index.js | 2 +- src/callExecutables.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 752343af..0c187d04 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${e}', database is '${a}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const u=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+u.slice(0,100)+"...TRUNCATED..."+u.slice(-100));yield(0,m.callAsync)(`echo "${u}" | base64 --decode > pic.png`);const c=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,c)}"`);yield(0,m.callAsync)(`rm pic.png`);const v=o.default.join(e,a,c);n.debug("fullPictureUri: "+v);return`${v}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${e}', database is '${a}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const u=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+u.slice(0,100)+"...TRUNCATED..."+u.slice(-100));yield(0,m.callAsync)(`echo "${u}" | base64 --decode > pic.png`);const c=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,c)}"`);yield(0,m.callAsync)(`rm pic.png`);const v=o.default.join(e,a,c);n.debug("fullPictureUri: "+v);return`${v}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/dist/post/index.js b/dist/post/index.js index f3d6a22f..a64f179d 100644 --- a/dist/post/index.js +++ b/dist/post/index.js @@ -1 +1 @@ -(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.debug(`Call #${i} async with secrets failed - on close`);else a.debug(`Call #${i} async failed - on close:\n${c}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.debug(`Call #${i} async with secrets failed - on error`);else a.debug(`Call #${i} async failed - on error:\n${e}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file +(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.debug(`Call #${i} async with secrets failed - on close`);else a.debug(`Call #${i} async failed - on close:\n${c}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.debug(`Call #${i} async with secrets failed - on error`);else a.debug(`Call #${i} async failed - on error:\n${e}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 6159e501..6a3f107d 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -84,7 +84,7 @@ export function callAsync( ): Promise { return new Promise((resolve, reject) => { const id = ++callId - !secret && core.info(`Call #${id} command: '${command}'`) + !secret && core.info(`Call #${id} command: '${command}' with cwd '${cwd}'`) const proc = exec(command, {encoding: 'utf8', cwd}) if (!proc.stdio || !proc.stdout || !proc.stderr) { core.info(`Error in callAsync #${id}: can't spawn process`) From e4d2fb23d240727e57439022d25e55525028be16 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 29 May 2023 20:56:43 +0300 Subject: [PATCH 43/77] fix: update image write method and update data for checks --- dist/main/index.js | 4 ++-- src/checkResults.ts | 1 + src/grafanaScreenshot.ts | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 0c187d04..67c1fdab 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${e}', database is '${a}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const u=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+u.slice(0,100)+"...TRUNCATED..."+u.slice(-100));yield(0,m.callAsync)(`echo "${u}" | base64 --decode > pic.png`);const c=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,c)}"`);yield(0,m.callAsync)(`rm pic.png`);const v=o.default.join(e,a,c);n.debug("fullPictureUri: "+v);return`${v}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${e}', database is '${a}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/checkResults.ts b/src/checkResults.ts index 49bf7bf0..23db1b79 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -232,6 +232,7 @@ export async function checkResults( owner: github.context.repo.owner, repo: github.context.repo.repo, name: `slo_check_${checks[i][0]}`, + head_sha: github.context.sha, status: 'completed', conclusion: conclusion, output: { diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index a9db8d94..da40e5d5 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -3,6 +3,7 @@ import * as core from '@actions/core' import {context} from '@actions/github' import {GitHub} from '@actions/github/lib/utils' import {callAsync, callKubernetesAsync} from './callExecutables' +import {writeFile} from 'fs/promises' export async function grafanaScreenshot( s3Endpoint: string, @@ -30,8 +31,9 @@ export async function grafanaScreenshot( '...TRUNCATED...' + imageb64.slice(-100) ) + core.debug('Write picture to FS') // write image to fs - await callAsync(`echo "${imageb64}" | base64 --decode > pic.png`) + await writeFile('pic.png', Buffer.from(imageb64, 'base64')) const pictureName = `${workloadId}-${new Date().valueOf()}.png` // upload From dd24d7d2c46c46aee62cbbe882391e4dfbf44abf Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Mon, 29 May 2023 21:02:37 +0300 Subject: [PATCH 44/77] fix: bugfix cluster logs --- dist/main/index.js | 2 +- src/cluster.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 67c1fdab..ea2fe10a 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${e}', database is '${a}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/cluster.ts b/src/cluster.ts index f71a237a..7caa9023 100644 --- a/src/cluster.ts +++ b/src/cluster.ts @@ -60,7 +60,7 @@ export async function createCluster( } if (storageStatus !== lastStorageStatus) { core.info( - `Storage become '${databaseStatus}', database is '${storageStatus}'` + `Storage become '${storageStatus}', database is '${databaseStatus}'` ) lastStorageStatus = storageStatus } From 616c034094cb969ef9578e41d3a448fb8e139319 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 13:28:17 +0300 Subject: [PATCH 45/77] fix: update message text --- dist/main/index.js | 2 +- src/main.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index ea2fe10a..3056c7e4 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n :volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n \n [Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n \n ![SLO-${e[o].id}](${t})`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/main.ts b/src/main.ts index 4756e142..89a6fcda 100644 --- a/src/main.ts +++ b/src/main.ts @@ -212,13 +212,13 @@ async function main(): Promise { grafanaDashboard ) const comment = ` - :volcano: Here are results of SLO test for **${ - workloads[i].name ?? workloads[i].id - }**: - - [Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()}) - - ![SLO-${workloads[i].id}](${pictureUri})` +:volcano: Here are results of SLO test for **${ + workloads[i].name ?? workloads[i].id + }**: + +[Grafana Dashboard](${grafanaDomain}/d/${grafanaDashboard}?orgId=1&from=${timings.startTime.valueOf()}&to=${timings.endTime.valueOf()}) + +![SLO-${workloads[i].id}](${pictureUri})\n` await postComment( octokit, From 8be1c7529ff1a56852468e99a79be2f443922be4 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 14:27:12 +0300 Subject: [PATCH 46/77] feat: add more logging to checkResults --- dist/main/index.js | 2 +- src/checkResults.ts | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dist/main/index.js b/dist/main/index.js index 3056c7e4..3fd734ce 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));const i=`${d}${JSON.stringify(p)}`;if(s.length===0){t.push([i,"notfound",`Not found results by filter to inspect`])}else{for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/checkResults.ts b/src/checkResults.ts index 23db1b79..3f677e64 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -149,24 +149,41 @@ export function checkGraphValues( for (const queryName of Object.keys(desiredResults)) { const result = realResults[queryName] const desired = desiredResults[queryName] + core.debug( + `Check query '${queryName}': result: ${JSON.stringify( + result + )}; desired result:${JSON.stringify(desired)}` + ) for (const desiredRes of desired) { const filter = {job: `workload-${workloadId}`, ...desiredRes.filter} let inspected = (result || []).filter(filterGraphData(filter)) + core.debug( + `Apply filter '${JSON.stringify(filter)}': ${JSON.stringify(inspected)}` + ) const checkName = `${queryName}${JSON.stringify(filter)}` if (inspected.length === 0) { + core.debug(`Not found results by filter to inspect`) checks.push([ checkName, 'notfound', `Not found results by filter to inspect` ]) } else { + core.debug( + `Found results by filter to inspect: ${JSON.stringify( + Object.entries(inspected) + )}` + ) for (const [i, inspectedRes] of Object.entries(inspected)) { const decision = desiredRes.value[0] === '>' ? inspectedRes.value > desiredRes.value[1] : inspectedRes.value < desiredRes.value[1] + core.debug( + `Inspection '${checkName}[${i}]' (${inspectedRes.value} ${desiredRes.value[0]} ${desiredRes.value[1]}) result: ${decision}` + ) checks.push([ `${checkName}[${i}]`, decision ? 'ok' : 'error', @@ -220,6 +237,7 @@ export async function checkResults( core.debug('parsed: ' + JSON.stringify(parsed)) const checks = checkGraphValues(workloadId, parsed, desiredResults) + core.debug('checks: ' + JSON.stringify(checks)) for (let i = 0; i < checks.length; i++) { const conclusion = @@ -242,6 +260,7 @@ export async function checkResults( } } + core.debug('create check: ' + JSON.stringify(checkParams)) await octokit.rest.checks.create(checkParams) } return checks.filter(ch => ch[1] == 'error').length > 0 From 96afcb81cba6f032ef1c35b0f6460fee5117bb95 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 16:11:48 +0300 Subject: [PATCH 47/77] fix: bugfix grafana screnshot uri --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 3fd734ce..7aa6e9e6 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h=o.default.join(e,a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index da40e5d5..adf2c93b 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -47,7 +47,8 @@ export async function grafanaScreenshot( // delete await callAsync(`rm pic.png`) // return name - const fullPictureUri = path.join(s3Endpoint, s3Folder, pictureName) + const fullPictureUri = + 'https://' + path.join(s3Endpoint.split('//')[1], s3Folder, pictureName) core.debug('fullPictureUri: ' + fullPictureUri) return `${fullPictureUri}` } From 4131a4f3732fc161b15babb973e2e9568fff4018 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 17:30:43 +0300 Subject: [PATCH 48/77] feat: add more debug info to checks --- dist/main/index.js | 4 ++-- src/checkResults.ts | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 7aa6e9e6..90a8d204 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:k,timeBetweenPhases:P,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(k,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*P+A)/60),args:`--time ${(5+2)*P} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,P)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/checkResults.ts b/src/checkResults.ts index 3f677e64..4f859275 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -261,7 +261,10 @@ export async function checkResults( } core.debug('create check: ' + JSON.stringify(checkParams)) - await octokit.rest.checks.create(checkParams) + core.debug( + 'Create check response: ' + + JSON.stringify(await octokit.rest.checks.create(checkParams)) + ) } return checks.filter(ch => ch[1] == 'error').length > 0 } From b285024b1cc62ded81e518db15af3fc379cf98c6 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 18:54:59 +0300 Subject: [PATCH 49/77] feat: add started_at to checks --- dist/main/index.js | 2 +- src/checkResults.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dist/main/index.js b/dist/main/index.js index 90a8d204..0aed88b7 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:k,timeBetweenPhases:P,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(k,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*P+A)/60),args:`--time ${(5+2)*P} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,P)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:k,timeBetweenPhases:P,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(k,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*P+A)/60),args:`--time ${(5+2)*P} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,P)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/checkResults.ts b/src/checkResults.ts index 4f859275..069e4fad 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -253,6 +253,7 @@ export async function checkResults( head_sha: github.context.sha, status: 'completed', conclusion: conclusion, + started_at: fromDate.toISOString(), output: { title: `SLO results check #${0}`, summary: checks[i][2], From c1ba6b18c0dffa4465ea70151ada9dfe71450dc1 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 19:55:34 +0300 Subject: [PATCH 50/77] feat: change check name --- dist/main/index.js | 2 +- src/checkResults.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 0aed88b7..0c6af137 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:k,timeBetweenPhases:P,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(k,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*P+A)/60),args:`--time ${(5+2)*P} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,P)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:k,timeBetweenPhases:P,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(k,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*P+A)/60),args:`--time ${(5+2)*P} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,P)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/checkResults.ts b/src/checkResults.ts index 069e4fad..74ef7af9 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -144,6 +144,7 @@ export function checkGraphValues( let checks: [ key: string, decision: 'ok' | 'error' | 'notfound', + title: string, text: string ][] = [] for (const queryName of Object.keys(desiredResults)) { @@ -162,11 +163,14 @@ export function checkGraphValues( `Apply filter '${JSON.stringify(filter)}': ${JSON.stringify(inspected)}` ) const checkName = `${queryName}${JSON.stringify(filter)}` + const checkId = `slo-${checkName.replace(/[{":}\[\]]/g, '-')}` + if (inspected.length === 0) { core.debug(`Not found results by filter to inspect`) checks.push([ checkName, 'notfound', + checkId, `Not found results by filter to inspect` ]) } else { @@ -185,8 +189,9 @@ export function checkGraphValues( `Inspection '${checkName}[${i}]' (${inspectedRes.value} ${desiredRes.value[0]} ${desiredRes.value[1]}) result: ${decision}` ) checks.push([ - `${checkName}[${i}]`, + `${checkId}-${i}`, decision ? 'ok' : 'error', + checkId, `${inspectedRes.value} ${decision ? '' : '!'}${ desiredRes.value[0] } ${desiredRes.value[1]}` @@ -255,9 +260,9 @@ export async function checkResults( conclusion: conclusion, started_at: fromDate.toISOString(), output: { - title: `SLO results check #${0}`, - summary: checks[i][2], - text: checks[i][2] + title: `SLO check ${checks[i][2]}`, + summary: checks[i][3], + text: checks[i][3] } } From 2c1e25f3cae977b655b0157794db62627a2051ce Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 20:13:54 +0300 Subject: [PATCH 51/77] fix: set failed instead of checks API usage --- dist/main/index.js | 4 +-- src/checkResults.ts | 59 ++++++++++++++++++++++++++------------------- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 0c6af137..b75e36b2 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.debug("checks: "+JSON.stringify(o));for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:k,timeBetweenPhases:P,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(k,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*P+A)/60),args:`--time ${(5+2)*P} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,P)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/checkResults.ts b/src/checkResults.ts index 74ef7af9..14cfd66f 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -242,35 +242,44 @@ export async function checkResults( core.debug('parsed: ' + JSON.stringify(parsed)) const checks = checkGraphValues(workloadId, parsed, desiredResults) - core.debug('checks: ' + JSON.stringify(checks)) + core.info('checks: ' + JSON.stringify(checks)) + let failed = false + let failedMsg = 'SLO check failed:\n' for (let i = 0; i < checks.length; i++) { - const conclusion = - checks[i][1] === 'error' - ? 'failure' - : checks[i][1] === 'notfound' - ? 'neutral' - : 'success' - const checkParams = { - owner: github.context.repo.owner, - repo: github.context.repo.repo, - name: `slo_check_${checks[i][0]}`, - head_sha: github.context.sha, - status: 'completed', - conclusion: conclusion, - started_at: fromDate.toISOString(), - output: { - title: `SLO check ${checks[i][2]}`, - summary: checks[i][3], - text: checks[i][3] - } + if (checks[i][1] === 'error') { + failed = true + failedMsg += `${checks[i][2]}: ${checks[i][3]}` } + // const conclusion = + // checks[i][1] === 'error' + // ? 'failure' + // : checks[i][1] === 'notfound' + // ? 'neutral' + // : 'success' + // const checkParams = { + // owner: github.context.repo.owner, + // repo: github.context.repo.repo, + // name: `slo_check_${checks[i][0]}`, + // head_sha: github.context.sha, + // status: 'completed', + // conclusion: conclusion, + // started_at: fromDate.toISOString(), + // output: { + // title: `SLO check ${checks[i][2]}`, + // summary: checks[i][3], + // text: checks[i][3] + // } + // } - core.debug('create check: ' + JSON.stringify(checkParams)) - core.debug( - 'Create check response: ' + - JSON.stringify(await octokit.rest.checks.create(checkParams)) - ) + // core.debug('create check: ' + JSON.stringify(checkParams)) + // core.debug( + // 'Create check response: ' + + // JSON.stringify(await octokit.rest.checks.create(checkParams)) + // ) + } + if (failed) { + core.setFailed(failedMsg) } return checks.filter(ch => ch[1] == 'error').length > 0 } From 0c47a3d5888b897bec4b8a7027f002ad0450d715 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 20:22:48 +0300 Subject: [PATCH 52/77] fix: update comments creation --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 8 ++++++-- src/main.ts | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index b75e36b2..82d9c24e 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{yield e.rest.issues.createComment(t)}catch(a){yield e.rest.issues.updateComment(t)}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update("nodejs-1").digest().readUint32BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{n.debug("Create comment with data:"+JSON.stringify(t));const a=yield e.rest.issues.createComment(t);n.debug("Create comment result:"+JSON.stringify(a))}catch(a){n.debug("Update comment with data:"+JSON.stringify(t));const p=yield e.rest.issues.updateComment(t);n.debug("Update comment result:"+JSON.stringify(p))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index adf2c93b..99d2b5d7 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -66,8 +66,12 @@ export async function postComment( body: message } try { - await octokit.rest.issues.createComment(data) + core.debug('Create comment with data:' + JSON.stringify(data)) + const res = await octokit.rest.issues.createComment(data) + core.debug('Create comment result:' + JSON.stringify(res)) } catch (error) { - await octokit.rest.issues.updateComment(data) + core.debug('Update comment with data:' + JSON.stringify(data)) + const res = await octokit.rest.issues.updateComment(data) + core.debug('Update comment result:' + JSON.stringify(res)) } } diff --git a/src/main.ts b/src/main.ts index 89a6fcda..91c0900e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -223,9 +223,9 @@ async function main(): Promise { await postComment( octokit, createHash('sha1') - .update('nodejs-1') + .update(workloads[i].id) .digest() - .readUint32BE(), + .readUint16BE(), comment ) })() From 0676541b85b506d793fa5713e160873e9ce0872d Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 20:49:24 +0300 Subject: [PATCH 53/77] feat: add debug info for comment creation --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dist/main/index.js b/dist/main/index.js index 82d9c24e..fcae34c0 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{n.debug("Create comment with data:"+JSON.stringify(t));const a=yield e.rest.issues.createComment(t);n.debug("Create comment result:"+JSON.stringify(a))}catch(a){n.debug("Update comment with data:"+JSON.stringify(t));const p=yield e.rest.issues.updateComment(t);n.debug("Update comment result:"+JSON.stringify(p))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{n.debug("Create comment with data:"+JSON.stringify(t));const a=yield e.rest.issues.createComment(t);n.debug("Create comment result:"+JSON.stringify(a))}catch(a){n.debug("ĐĄreate comment failed:"+JSON.stringify(a));n.debug("Update comment with data:"+JSON.stringify(t));const p=yield e.rest.issues.updateComment(t);n.debug("Update comment result:"+JSON.stringify(p))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 99d2b5d7..7fffb1c4 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -70,6 +70,7 @@ export async function postComment( const res = await octokit.rest.issues.createComment(data) core.debug('Create comment result:' + JSON.stringify(res)) } catch (error) { + core.debug('ĐĄreate comment failed:' + JSON.stringify(error)) core.debug('Update comment with data:' + JSON.stringify(data)) const res = await octokit.rest.issues.updateComment(data) core.debug('Update comment result:' + JSON.stringify(res)) From ba08199da3d0d6996151cf352f12e577d8389212 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 22:46:16 +0300 Subject: [PATCH 54/77] fix: remove cluster and mutex if failed --- dist/main/index.js | 4 ++-- src/main.ts | 22 ++++++++++++++++++++++ src/mutex.ts | 4 ++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index fcae34c0..b0daa704 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{n.debug("Create comment with data:"+JSON.stringify(t));const a=yield e.rest.issues.createComment(t);n.debug("Create comment result:"+JSON.stringify(a))}catch(a){n.debug("ĐĄreate comment failed:"+JSON.stringify(a));n.debug("Update comment with data:"+JSON.stringify(t));const p=yield e.rest.issues.updateComment(t);n.debug("Update comment result:"+JSON.stringify(p))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:E,dockerRepo:y,dockerFolder:S,dockerUsername:D,dockerPassword:O,ydbVersion:P,timeBetweenPhases:k,shutdownTime:A,grafanaDomain:N,grafanaDashboard:G}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const R=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(y,D,O);const C=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(C)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const V=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(V,30);i.info("Mutex obtained!");const U=e.map((e=>(0,c.generateDockerPath)(y,S,e.id)));i.info("Create cluster and build all workloads");const F=e.map((()=>false));const j=yield Promise.allSettled([(0,u.createCluster)(P,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,U[a],e.path,e.buildOptions,e.buildContext).then((()=>{F[a]=true}))))]);const B=j[0].status==="fulfilled"&&F.filter((e=>e)).length>0;i.debug(`builded: [${F.toString()}], continueRun: ${B}`);if(F.every((e=>e))){i.info("All workloads builded successfully")}else{if(B){F.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(B){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:U[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:U[a],timeoutMins:Math.ceil(((5+4)*k+A)/60),args:`--time ${(5+2)*k} --shutdown-time ${A} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(C.grafana,k)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(R,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,E,e[o].id,a.startTime,a.endTime,G);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${N}/d/${G}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(R,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message)}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{n.debug("Create comment with data:"+JSON.stringify(t));const a=yield e.rest.issues.createComment(t);n.debug("Create comment result:"+JSON.stringify(a))}catch(a){n.debug("ĐĄreate comment failed:"+JSON.stringify(a));n.debug("Update comment with data:"+JSON.stringify(t));const p=yield e.rest.issues.updateComment(t);n.debug("Update comment result:"+JSON.stringify(p))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:P,dockerPassword:k,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,P,k);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const I=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${I}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(I){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(I){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const D=r.parse;const O=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return D(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return O(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 91c0900e..d2c9e3f2 100644 --- a/src/main.ts +++ b/src/main.ts @@ -19,6 +19,9 @@ import {createHash} from 'crypto' const isPullRequest = !!github.context.payload.pull_request +let mutexObtained = false +let clusterCreated = false + async function main(): Promise { try { let { @@ -76,6 +79,7 @@ async function main(): Promise { await obtainMutex(mutexId, 30) core.info('Mutex obtained!') + mutexObtained = true const dockerPaths = workloads.map(w => generateDockerPath(dockerRepo, dockerFolder, w.id) @@ -106,6 +110,10 @@ async function main(): Promise { builded.filter(v => v).length > 0 core.debug(`builded: [${builded.toString()}], continueRun: ${continueRun}`) + if (clusterWorkloadRes[0].status === 'fulfilled') { + clusterCreated = true + } + if (builded.every(v => v)) { core.info('All workloads builded successfully') } else { @@ -248,6 +256,20 @@ async function main(): Promise { releaseMutex() } catch (error) { if (error instanceof Error) core.setFailed(error.message) + if (clusterCreated) { + try { + deleteCluster() + } catch (error) { + core.info('Failed to delete cluster:' + JSON.stringify(error)) + } + } + if (mutexObtained) { + try { + releaseMutex() + } catch (error) { + core.info('Failed to release mutex:' + JSON.stringify(error)) + } + } } } diff --git a/src/mutex.ts b/src/mutex.ts index ea5d492b..875fab60 100644 --- a/src/mutex.ts +++ b/src/mutex.ts @@ -4,7 +4,7 @@ import {logGroup} from './utils/groupDecorator' import {withTimeout} from './utils/withTimeout' /** Is mutex busy (configmap has field busy) */ -function isBusy(name: string): false | string { +export function isBusy(name: string): false | string { core.debug(`isBusy(${name})`) const res = callKubernetes(`get configmaps ${name} -ojson`) core.debug('isBusy result: ' + res) @@ -19,7 +19,7 @@ function isBusy(name: string): false | string { return false } -function setBusy(lockedBy: string) { +export function setBusy(lockedBy: string) { core.debug(`setBusy(${lockedBy})`) callKubernetesPath( From eeb31772ce527801891af7c304419773475e9c32 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Tue, 30 May 2023 23:29:02 +0300 Subject: [PATCH 55/77] feat: add tag for comments --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 30 ++++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index b0daa704..a67daae0 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p});try{n.debug("Create comment with data:"+JSON.stringify(t));const a=yield e.rest.issues.createComment(t);n.debug("Create comment result:"+JSON.stringify(a))}catch(a){n.debug("ĐĄreate comment failed:"+JSON.stringify(a));n.debug("Update comment with data:"+JSON.stringify(t));const p=yield e.rest.issues.updateComment(t);n.debug("Update comment result:"+JSON.stringify(p))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:P,dockerPassword:k,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,P,k);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const I=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${I}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(I){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(I){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:P,dockerPassword:k,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,P,k);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 7fffb1c4..3677f91a 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -59,18 +59,32 @@ export async function postComment( message: string ) { if (!context.payload.pull_request) return - const data = { - ...context.repo, + const commentTag = `` + + const commentsList = await octokit.rest.issues.listComments({ issue_number: context.payload.pull_request.number, - comment_id: id, - body: message - } - try { + ...context.repo + }) + const oldComment = commentsList.data.filter(comment => + comment.body?.includes(commentTag) + ) + + if (oldComment.length === 0) { + const data = { + ...context.repo, + issue_number: context.payload.pull_request.number, + comment_id: id, + body: message + `\n${commentTag}` + } core.debug('Create comment with data:' + JSON.stringify(data)) const res = await octokit.rest.issues.createComment(data) core.debug('Create comment result:' + JSON.stringify(res)) - } catch (error) { - core.debug('ĐĄreate comment failed:' + JSON.stringify(error)) + } else { + const data = { + ...context.repo, + comment_id: oldComment[0].id, + body: message + `\n${commentTag}` + } core.debug('Update comment with data:' + JSON.stringify(data)) const res = await octokit.rest.issues.updateComment(data) core.debug('Update comment result:' + JSON.stringify(res)) From 69778a3f468b2c9449251b4fa0e3934444bfa9ef Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Wed, 31 May 2023 00:37:35 +0300 Subject: [PATCH 56/77] feat: return back checks creation --- dist/main/index.js | 4 +-- src/checkResults.ts | 63 ++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index a67daae0..b7f69543 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=p(9419);const m=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,l.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([i,"notfound",o,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const e=yield(0,m.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(e));const i=checkGraphValues(a,e,d);n.info("checks: "+JSON.stringify(i));let o=false;let l="SLO check failed:\n";for(let e=0;ee[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:P,dockerPassword:k,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,P,k);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const P="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!P){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const k=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new k(a).hostname;const t=new k(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new k(a).protocol;const t=new k(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new k(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/checkResults.ts b/src/checkResults.ts index 14cfd66f..7dc16671 100644 --- a/src/checkResults.ts +++ b/src/checkResults.ts @@ -168,9 +168,9 @@ export function checkGraphValues( if (inspected.length === 0) { core.debug(`Not found results by filter to inspect`) checks.push([ - checkName, - 'notfound', checkId, + 'notfound', + checkName, `Not found results by filter to inspect` ]) } else { @@ -191,7 +191,7 @@ export function checkGraphValues( checks.push([ `${checkId}-${i}`, decision ? 'ok' : 'error', - checkId, + checkName, `${inspectedRes.value} ${decision ? '' : '!'}${ desiredRes.value[0] } ${desiredRes.value[1]}` @@ -245,38 +245,43 @@ export async function checkResults( core.info('checks: ' + JSON.stringify(checks)) let failed = false - let failedMsg = 'SLO check failed:\n' + let failedMsg = 'SLO check failed: ' for (let i = 0; i < checks.length; i++) { if (checks[i][1] === 'error') { failed = true failedMsg += `${checks[i][2]}: ${checks[i][3]}` } - // const conclusion = - // checks[i][1] === 'error' - // ? 'failure' - // : checks[i][1] === 'notfound' - // ? 'neutral' - // : 'success' - // const checkParams = { - // owner: github.context.repo.owner, - // repo: github.context.repo.repo, - // name: `slo_check_${checks[i][0]}`, - // head_sha: github.context.sha, - // status: 'completed', - // conclusion: conclusion, - // started_at: fromDate.toISOString(), - // output: { - // title: `SLO check ${checks[i][2]}`, - // summary: checks[i][3], - // text: checks[i][3] - // } - // } + try { + // try to add to checks + const conclusion = + checks[i][1] === 'error' + ? 'failure' + : checks[i][1] === 'notfound' + ? 'neutral' + : 'success' + const checkParams = { + owner: github.context.repo.owner, + repo: github.context.repo.repo, + name: `slo-check-${i}`, + head_sha: github.context.sha, + status: 'completed', + conclusion: conclusion, + started_at: fromDate.toISOString(), + output: { + title: `SLO check ${i}`, + summary: checks[i][3], + text: checks[i][3] + } + } - // core.debug('create check: ' + JSON.stringify(checkParams)) - // core.debug( - // 'Create check response: ' + - // JSON.stringify(await octokit.rest.checks.create(checkParams)) - // ) + core.info('create check: ' + JSON.stringify(checkParams)) + core.info( + 'Create check response: ' + + JSON.stringify(await octokit.rest.checks.create(checkParams)) + ) + } catch (error) { + core.info('Create check error: ' + JSON.stringify(error)) + } } if (failed) { core.setFailed(failedMsg) From bda50ec1ac28f2b867097541d17e3ee1a46d7a0f Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Thu, 1 Jun 2023 18:58:42 +0300 Subject: [PATCH 57/77] feat: move workload logs to group --- dist/main/index.js | 2 +- src/workload.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index b7f69543..58e3a7c3 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/workload.ts b/src/workload.ts index 77817cc9..1776ad24 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -134,10 +134,10 @@ export function runWorkload( ) const endTime = new Date() // print logs - core.info( - `Workload ${options.id} ${command} logs:\n` + - (await callKubernetesAsync(`logs job/${options.id}-wl-${command}`)) - ) + let logs = await callKubernetesAsync(`logs job/${options.id}-wl-${command}`) + core.startGroup(`Workload ${options.id} ${command} logs:`) + core.info(logs) + core.endGroup() return {startTime, endTime} }) } From 5cf9082b187f3f09602b6d6ac29d0d964463dda6 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Thu, 1 Jun 2023 19:07:56 +0300 Subject: [PATCH 58/77] feat: move base64 image to log group --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 58e3a7c3..7852406d 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`);n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 3677f91a..3ddfdd44 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -22,8 +22,10 @@ export async function grafanaScreenshot( dashboard.split('/')[0] }/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv` core.debug('grafana query: ' + query) - const imageb64 = await callKubernetesAsync( - `run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"` + const imageb64 = await core.group('Get base64 image', () => + callKubernetesAsync( + `run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"` + ) ) core.debug( 'grafana imageb64: ' + From 020a8c35ca26ea3815610e52d88f580450f14ba0 Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Thu, 1 Jun 2023 20:58:53 +0300 Subject: [PATCH 59/77] feat: truncate and group commands output --- dist/main/index.js | 2 +- dist/post/index.js | 2 +- src/callExecutables.ts | 11 ++++++++++- src/workload.ts | 4 ++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 7852406d..e1f3979c 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return(0,m.logGroup)(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return(0,m.logGroup)(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/dist/post/index.js b/dist/post/index.js index a64f179d..ce5dd1e8 100644 --- a/dist/post/index.js +++ b/dist/post/index.js @@ -1 +1 @@ -(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.debug(`Call #${i} async with secrets failed - on close`);else a.debug(`Call #${i} async failed - on close:\n${c}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.debug(`Call #${i} async with secrets failed - on error`);else a.debug(`Call #${i} async failed - on error:\n${e}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file +(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){if(l.length>3e3)a.debug(`Call #${i} async TRUNCATED (full size is ${l.length/1024}kb - showing 3000 symbols) output: \n${l.slice(0,1500)}\n.........\n${l.slice(-1500)}`);else a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.debug(`Call #${i} async with secrets failed - on close`);else a.debug(`Call #${i} async failed - on close:\n${c}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.debug(`Call #${i} async with secrets failed - on error`);else a.debug(`Call #${i} async failed - on error:\n${e}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 6a3f107d..352aa72e 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -99,7 +99,16 @@ export function callAsync( proc.on('close', code => { core.debug(`Call #${id} async code = ${code}`) if (code == 0) { - core.debug(`Call #${id} async output \n${out}`) + if (out.length > 3000) + core.debug( + `Call #${id} async TRUNCATED (full size is ${ + out.length / 1024 + }kb - showing 3000 symbols) output: \n${out.slice( + 0, + 1500 + )}\n.........\n${out.slice(-1500)}` + ) + else core.debug(`Call #${id} async output \n${out}`) resolve(out) } else { if (secret) diff --git a/src/workload.ts b/src/workload.ts index 1776ad24..7e7664cd 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -51,7 +51,7 @@ export function buildWorkload( if (!options || options.length === 0) options = '' if (!context || context.length === 0) context = '.' - return logGroup(`Build workload ${id}`, async () => { + return core.group(`Build workload ${id}`, async () => { core.info('Build docker image') await callAsync( `docker buildx build --platform linux/amd64 ` + @@ -80,7 +80,7 @@ export function runWorkload( command: 'create' | 'run', options: IWorkloadRunOptions ) { - return logGroup(`Workload ${options.id} - ${command}`, async () => { + return core.group(`Workload ${options.id} - ${command}`, async () => { const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}` const workloadManifest = workloadManifestTemplate From 424db49940e7522ccc11956b547e6eb186635dee Mon Sep 17 00:00:00 2001 From: Ilya Shevchenko Date: Fri, 2 Jun 2023 16:39:50 +0300 Subject: [PATCH 60/77] feat: add workload filter to grafana screenshot --- dist/main/index.js | 2 +- package.json | 2 +- src/grafanaScreenshot.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index e1f3979c..1b2356cd 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/package.json b/package.json index 59cc6a3a..f4d8dbf9 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/actions/typescript-action.git" + "url": "git+https://github.com/ydb-platform/slo-tests.git" }, "keywords": [ "actions", diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 3ddfdd44..016ab1f4 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -20,7 +20,7 @@ export async function grafanaScreenshot( ) const query = `http://grafana/render/d/${ dashboard.split('/')[0] - }/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv` + }/slo?orgId=1&from=${startTime.valueOf()}&to=${endTime.valueOf()}&width=${width}&height=${height}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${workloadId}` core.debug('grafana query: ' + query) const imageb64 = await core.group('Get base64 image', () => callKubernetesAsync( From 2eeb3bdda98a362b23795dcd751e985ab9ea662a Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Sat, 3 Jun 2023 23:07:19 +0300 Subject: [PATCH 61/77] fead: add more workloads to action.yml --- action.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/action.yml b/action.yml index 9997d7ff..f8bb57ce 100644 --- a/action.yml +++ b/action.yml @@ -92,6 +92,51 @@ inputs: workload_build_options2: description: 'SLO workload #2 docker build arguments' required: false + language_id3: + description: 'SLO workload #3 language ID' + required: false + workload_path3: + description: 'SLO workload #3 workload path' + required: false + language3: + description: 'SLO workload #3 language name' + required: false + workload_build_context3: + description: 'SLO workload #3 docker build context' + required: false + workload_build_options3: + description: 'SLO workload #3 docker build arguments' + required: false + language_id4: + description: 'SLO workload #4 language ID' + required: false + workload_path4: + description: 'SLO workload #4 workload path' + required: false + language4: + description: 'SLO workload #4 language name' + required: false + workload_build_context4: + description: 'SLO workload #4 docker build context' + required: false + workload_build_options4: + description: 'SLO workload #4 docker build arguments' + required: false + language_id5: + description: 'SLO workload #5 language ID' + required: false + workload_path5: + description: 'SLO workload #5 workload path' + required: false + language5: + description: 'SLO workload #5 language name' + required: false + workload_build_context5: + description: 'SLO workload #5 docker build context' + required: false + workload_build_options5: + description: 'SLO workload #5 docker build arguments' + required: false runs: using: 'node16' main: 'dist/main/index.js' From 6aa0e3b54478c0d75cf00a32593ac38151fe5808 Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Tue, 6 Jun 2023 18:21:37 +0300 Subject: [PATCH 62/77] feat: save workloads logs to files --- dist/main/index.js | 2 +- src/workload.ts | 46 ++++++++++++++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 1b2356cd..6bdea5f0 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID\}\}/g,a.id).replace(/\$\{\{COMMAND\}\}/g,e).replace(/\$\{\{DOCKER_IMAGE\}\}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);o.info(`Workload ${a.id} ${e} logs:\n`+(yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`)));throw new Error(p)}if(p.complete||p.succeeded)return true;return false}))));const r=new Date;let i=yield(0,l.callKubernetesAsync)(`logs job/${a.id}-wl-${e}`);o.startGroup(`Workload ${a.id} ${e} logs:`);o.info(i);o.endGroup();return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/workload.ts b/src/workload.ts index 7e7664cd..66e51ec7 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -13,6 +13,8 @@ import {withTimeout} from './utils/withTimeout' const workloadManifestTemplate = manifests['k8s/ci/workload.yaml'].content +const fs = require('fs'); + export function dockerLogin(repo: string, user: string, password: string) { return logGroup('Docker login', async () => { try { @@ -84,9 +86,9 @@ export function runWorkload( const containerArgs = `grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${options.id} ${options.args}` const workloadManifest = workloadManifestTemplate - .replace(/\$\{\{LANGUAGE_ID\}\}/g, options.id) - .replace(/\$\{\{COMMAND\}\}/g, command) - .replace(/\$\{\{DOCKER_IMAGE\}\}/g, options.dockerPath) + .replace(/\$\{\{LANGUAGE_ID}}/g, options.id) + .replace(/\$\{\{COMMAND}}/g, command) + .replace(/\$\{\{DOCKER_IMAGE}}/g, options.dockerPath) .replace( '${{ARGS}}', containerArgs @@ -119,25 +121,37 @@ export function runWorkload( if (status.failed) { const msg = `Workload ${options.id} ${command} failed` core.info(msg) - // print logs - core.info( - `Workload ${options.id} ${command} logs:\n` + - (await callKubernetesAsync( - `logs job/${options.id}-wl-${command}` - )) - ) + await saveLogs(options.id, command) throw new Error(msg) } - if (status.complete || status.succeeded) return true - return false + return (status.complete || status.succeeded); } ) const endTime = new Date() // print logs - let logs = await callKubernetesAsync(`logs job/${options.id}-wl-${command}`) - core.startGroup(`Workload ${options.id} ${command} logs:`) - core.info(logs) - core.endGroup() + await saveLogs(options.id, command) return {startTime, endTime} }) } + +async function saveLogs( + id: string, + command: string +) { + let logs = await callKubernetesAsync(`logs job/${id}-wl-${command}`) + + // core.startGroup(`Workload ${id} ${command} logs:`) + // core.info(logs) + // core.endGroup() + + try { + let dir = "./logs" + if (!fs.existsSync(dir)){ + await fs.promises.mkdir(dir); + } + + await fs.promises.writeFile(`${dir}/${id}-${command}.log`, logs); + } catch (e) { + core.info(`error write file for ${id}-${command}: ${(e as Error).message}`) + } +} \ No newline at end of file From 57e73ef2795d72ba2b010810e624055b8b828ed3 Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Fri, 9 Jun 2023 16:19:58 +0300 Subject: [PATCH 63/77] feat: log call output on errors --- dist/main/index.js | 2 +- dist/post/index.js | 2 +- src/callExecutables.ts | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 6bdea5f0..7750c862 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.debug(`Call #${r} async with secrets failed - on close`);else i.debug(`Call #${r} async failed - on close:\n${l}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.debug(`Call #${r} async with secrets failed - on error`);else i.debug(`Call #${r} async failed - on error:\n${e}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/dist/post/index.js b/dist/post/index.js index ce5dd1e8..9eb29c3d 100644 --- a/dist/post/index.js +++ b/dist/post/index.js @@ -1 +1 @@ -(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){if(l.length>3e3)a.debug(`Call #${i} async TRUNCATED (full size is ${l.length/1024}kb - showing 3000 symbols) output: \n${l.slice(0,1500)}\n.........\n${l.slice(-1500)}`);else a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.debug(`Call #${i} async with secrets failed - on close`);else a.debug(`Call #${i} async failed - on close:\n${c}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.debug(`Call #${i} async with secrets failed - on error`);else a.debug(`Call #${i} async failed - on error:\n${e}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file +(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){if(l.length>3e3)a.debug(`Call #${i} async TRUNCATED (full size is ${l.length/1024}kb - showing 3000 symbols) output: \n${l.slice(0,1500)}\n.........\n${l.slice(-1500)}`);else a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.info(`Call #${i} async with secrets failed - on close`);else a.info(`Call #${i} async failed - on close:\nError: ${c}\nOutput: ${l}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.info(`Call #${i} async with secrets failed - on error`);else a.info(`Call #${i} async failed - on error:\nError: ${e}\nOutput: ${l}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file diff --git a/src/callExecutables.ts b/src/callExecutables.ts index 352aa72e..f10fd53b 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -112,15 +112,15 @@ export function callAsync( resolve(out) } else { if (secret) - core.debug(`Call #${id} async with secrets failed - on close`) - else core.debug(`Call #${id} async failed - on close:\n${err}`) + core.info(`Call #${id} async with secrets failed - on close`) + else core.info(`Call #${id} async failed - on close:\nError: ${err}\nOutput: ${out}`) reject(new Error(err)) } }) proc.on('error', err => { - if (secret) core.debug(`Call #${id} async with secrets failed - on error`) - else core.debug(`Call #${id} async failed - on error:\n${err}`) + if (secret) core.info(`Call #${id} async with secrets failed - on error`) + else core.info(`Call #${id} async failed - on error:\nError: ${err}\nOutput: ${out}`) reject(err) }) From f70256bf810c514742670af593ed8ef89e17d40a Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Fri, 9 Jun 2023 18:06:13 +0300 Subject: [PATCH 64/77] feat: set exec maxBuffer to infinity --- dist/main/index.js | 2 +- dist/post/index.js | 2 +- src/callExecutables.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 7750c862..8b4994f0 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/dist/post/index.js b/dist/post/index.js index 9eb29c3d..e82f6f85 100644 --- a/dist/post/index.js +++ b/dist/post/index.js @@ -1 +1 @@ -(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){if(l.length>3e3)a.debug(`Call #${i} async TRUNCATED (full size is ${l.length/1024}kb - showing 3000 symbols) output: \n${l.slice(0,1500)}\n.........\n${l.slice(-1500)}`);else a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.info(`Call #${i} async with secrets failed - on close`);else a.info(`Call #${i} async failed - on close:\nError: ${c}\nOutput: ${l}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.info(`Call #${i} async with secrets failed - on error`);else a.info(`Call #${i} async failed - on error:\nError: ${e}\nOutput: ${l}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var v=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return v.markdownSummary}});var m=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return m.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return m.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return m.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const v=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const m=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!v.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const v=p-a+(h-u)/1e4;if(v<0&&e.clockseq===undefined){f=f+1&16383}if((v<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const m=((p&268435455)*1e4+h)%4294967296;c[l++]=m>>>24&255;c[l++]=m>>>16&255;c[l++]=m>>>8&255;c[l++]=m&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file +(()=>{var e={419:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.callKubernetesPathAsync=t.callKubernetesAsync=t.callKubernetesPath=t.callKubernetes=t.callAsync=t.call=t.prepareAWS=t.prepareK8S=void 0;const a=i(r(186));const u=r(81);const l=r(147);const c=r(37);const d=s(r(17));const f=r(990);let p=null;let h=0;function prepareK8S(e){return(0,f.logGroup)("Prepare k8s",(()=>{const t=d.default.join((0,c.homedir)(),".kube");a.info(`mkdir ${t}`);try{(0,l.mkdirSync)(t)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(t+" EEXIST")}else throw e}if(e.length>0){a.debug("Get kubeconfig string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write kubeconfig to ~/.kube/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".kube/config"),t)}p=call("which kubectl").split("\n")[0];a.info(`kubectl path: ${p}`)}))}t.prepareK8S=prepareK8S;function prepareAWS(e,t){const r=d.default.join((0,c.homedir)(),".aws");a.info(`mkdir ${r}`);try{(0,l.mkdirSync)(r)}catch(e){a.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){a.debug(r+" EEXIST")}else throw e}if(e.length>0){a.debug("Get aws credentials string");const t=Buffer.from(e,"base64").toString("utf8");a.info(`Write awsCredentials to ~/.aws/credentials`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/credentials"),t)}if(t.length>0){a.debug("Get aws credentials string");const e=Buffer.from(t,"base64").toString("utf8");a.info(`Write awsConfig to ~/.aws/config`);(0,l.writeFileSync)(d.default.join((0,c.homedir)(),".aws/config"),e)}}t.prepareAWS=prepareAWS;function call(e,t=false){const r=++h;!t&&a.info(`Call #${r} command: '${e}'`);const n=(0,u.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});a.debug(`Call #${r} result ${n}`);return n}t.call=call;function callAsync(e,t=false,r="."){return new Promise(((n,o)=>{const i=++h;!t&&a.info(`Call #${i} command: '${e}' with cwd '${r}'`);const s=(0,u.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:r});if(!s.stdio||!s.stdout||!s.stderr){a.info(`Error in callAsync #${i}: can't spawn process`);throw new Error(`Error in callAsync #${i}: can't spawn process`)}let l="",c="";s.stdout.on("data",(e=>l+=e.toString()));s.stderr.on("data",(e=>c+=e.toString()));s.on("close",(e=>{a.debug(`Call #${i} async code = ${e}`);if(e==0){if(l.length>3e3)a.debug(`Call #${i} async TRUNCATED (full size is ${l.length/1024}kb - showing 3000 symbols) output: \n${l.slice(0,1500)}\n.........\n${l.slice(-1500)}`);else a.debug(`Call #${i} async output \n${l}`);n(l)}else{if(t)a.info(`Call #${i} async with secrets failed - on close`);else a.info(`Call #${i} async failed - on close:\nError: ${c}\nOutput: ${l}`);o(new Error(c))}}));s.on("error",(e=>{if(t)a.info(`Call #${i} async with secrets failed - on error`);else a.info(`Call #${i} async failed - on error:\nError: ${e}\nOutput: ${l}`);o(e)}))}))}t.callAsync=callAsync;function callKubernetes(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${p} ${e}`)}t.callKubernetes=callKubernetes;function callKubernetesPath(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(p))}t.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${p} ${e}`)}t.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(p===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(p))}t.callKubernetesPathAsync=callKubernetesPathAsync},95:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});const s=i(r(186));const a=r(419);s.info("Cleanup");s.debug("Remove .kube dir");(0,a.call)("rm -rf ~/.kube");s.debug("Remove .aws dir");(0,a.call)("rm -rf ~/.aws")},990:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,n,o)}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.logGroup=void 0;const s=i(r(186));function logGroup(e,t){s.startGroup(e);const r=t();if(r instanceof Promise){return r.finally((()=>{s.endGroup()}))}else{s.endGroup();return r}}t.logGroup=logGroup},351:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const s=i(r(37));const a=r(278);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+s.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const u="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=u+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${u}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const a=r(351);const u=r(717);const l=r(278);const c=i(r(37));const d=i(r(17));const f=r(41);var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=l.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return u.issueFileCommand("ENV",u.prepareKeyValueMessage(e,t))}a.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){u.issueFileCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${d.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(n.includes(o))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return u.issueFileCommand("OUTPUT",u.prepareKeyValueMessage(e,t))}process.stdout.write(c.EOL);a.issueCommand("set-output",{name:e},l.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){a.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){a.issueCommand("error",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){a.issueCommand("warning",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){a.issueCommand("notice",l.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+c.EOL)}t.info=info;function startGroup(e){a.issue("group",e)}t.startGroup=startGroup;function endGroup(){a.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return s(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return u.issueFileCommand("STATE",u.prepareKeyValueMessage(e,t))}a.issueCommand("save-state",{name:e},l.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield f.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var h=r(327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return h.summary}});var m=r(327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return m.markdownSummary}});var v=r(981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return v.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return v.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return v.toPlatformPath}})},717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const s=i(r(147));const a=i(r(37));const u=r(840);const l=r(278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}s.appendFileSync(r,`${l.toCommandValue(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${u.v4()}`;const n=l.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${a.EOL}${n}${a.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},41:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const o=r(255);const i=r(526);const s=r(186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new o.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return n(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const n=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const o=(t=n.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o}))}static getIDToken(e){return n(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}s.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);s.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},981:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const s=i(r(17));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}t.toPlatformPath=toPlatformPath},327:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const o=r(37);const i=r(147);const{access:s,appendFile:a,writeFile:u}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return n(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const n=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return n(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?u:a;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return n(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(o.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map((e=>this.wrap("li",e))).join("");const o=this.wrap(r,n);return this.addRaw(o).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:o}=e;const i=t?"th":"td";const s=Object.assign(Object.assign({},n&&{colspan:n}),o&&{rowspan:o});return this.wrap(i,r,s)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:o}=r||{};const i=Object.assign(Object.assign({},n&&{width:n}),o&&{height:o});const s=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(s).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(n,e);return this.addRaw(o).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const l=new Summary;t.markdownSummary=l;t.summary=l},278:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},526:function(e,t){"use strict";var r=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},255:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))n(t,e,r);o(t,e);return t};var s=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const a=i(r(685));const u=i(r(687));const l=i(r(835));const c=i(r(294));var d;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(d=t.HttpCodes||(t.HttpCodes={}));var f;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(f=t.Headers||(t.Headers={}));var p;(function(e){e["ApplicationJson"]="application/json"})(p=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=l.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const h=[d.MovedPermanently,d.ResourceMoved,d.SeeOther,d.TemporaryRedirect,d.PermanentRedirect];const m=[d.BadGateway,d.ServiceUnavailable,d.GatewayTimeout];const v=["OPTIONS","GET","DELETE","HEAD"];const g=10;const _=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,n){return s(this,void 0,void 0,(function*(){return this.request(e,t,r,n)}))}getJson(e,t={}){return s(this,void 0,void 0,(function*(){t[f.Accept]=this._getExistingOrDefaultHeader(t,f.Accept,p.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.post(e,n,r);return this._processResponse(o,this.requestOptions)}))}putJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.put(e,n,r);return this._processResponse(o,this.requestOptions)}))}patchJson(e,t,r={}){return s(this,void 0,void 0,(function*(){const n=JSON.stringify(t,null,2);r[f.Accept]=this._getExistingOrDefaultHeader(r,f.Accept,p.ApplicationJson);r[f.ContentType]=this._getExistingOrDefaultHeader(r,f.ContentType,p.ApplicationJson);const o=yield this.patch(e,n,r);return this._processResponse(o,this.requestOptions)}))}request(e,t,r,n){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let i=this._prepareRequest(e,o,n);const s=this._allowRetries&&v.includes(e)?this._maxRetries+1:1;let a=0;let u;do{u=yield this.requestRaw(i,r);if(u&&u.message&&u.message.statusCode===d.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(u)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return u}}let t=this._maxRedirects;while(u.message.statusCode&&h.includes(u.message.statusCode)&&this._allowRedirects&&t>0){const s=u.message.headers["location"];if(!s){break}const a=new URL(s);if(o.protocol==="https:"&&o.protocol!==a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield u.readBody();if(a.hostname!==o.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}i=this._prepareRequest(e,a,n);u=yield this.requestRaw(i,r);t--}if(!u.message.statusCode||!m.includes(u.message.statusCode)){return u}a+=1;if(a{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const o=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;o.on("socket",(e=>{i=e}));o.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));o.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){o.end()}));t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const o=n.parsedUrl.protocol==="https:";n.httpModule=o?u:a;const i=o?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):i;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){n=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||n||r}_getAgent(e){let t;const r=l.getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(this._keepAlive&&!n){t=this._agent}if(t){return t}const o=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const s=r.protocol==="https:";if(o){n=s?c.httpsOverHttps:c.httpsOverHttp}else{n=s?c.httpOverHttps:c.httpOverHttp}t=n(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=o?new u.Agent(e):new a.Agent(e);this._agent=t}if(!t){t=o?u.globalAgent:a.globalAgent}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(g,e);const t=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return s(this,void 0,void 0,(function*(){return new Promise(((r,n)=>s(this,void 0,void 0,(function*(){const o=e.message.statusCode||0;const i={statusCode:o,result:null,headers:{}};if(o===d.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let s;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){s=JSON.parse(a,dateTimeDeserializer)}else{s=JSON.parse(a)}i.result=s}i.headers=e.message.headers}catch(e){}if(o>299){let e;if(s&&s.message){e=s.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=i.result;n(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const o=[e.hostname.toUpperCase()];if(typeof n==="number"){o.push(`${o[0]}:${n}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||o.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},294:(e,t,r)=>{e.exports=r(219)},219:(e,t,r)=>{"use strict";var n=r(808);var o=r(404);var i=r(685);var s=r(687);var a=r(361);var u=r(491);var l=r(837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=s.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,n,o){var i=toOptions(r,n,o);for(var s=0,a=t.requests.length;s=this.maxSockets){o.requests.push(i);return}o.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,i)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}c("making CONNECT request");var i=r.request(o);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(o,s,a){i.removeAllListeners();s.removeAllListeners();if(o.statusCode!==200){c("tunneling socket could not be established, statusCode=%d",o.statusCode);s.destroy();var u=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}if(a.length>0){c("got illegal response body from proxy");s.destroy();var u=new Error("got illegal response body from proxy");u.code="ECONNRESET";e.request.emit("error",u);r.removeSocket(n);return}c("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=s;return t(s)}function onError(t){i.removeAllListeners();c("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(n){var i=e.request.getHeader("host");var s=mergeOptions({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host});var a=o.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;t(a)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return u.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return d.default}});var n=_interopRequireDefault(r(628));var o=_interopRequireDefault(r(409));var i=_interopRequireDefault(r(122));var s=_interopRequireDefault(r(120));var a=_interopRequireDefault(r(332));var u=_interopRequireDefault(r(595));var l=_interopRequireDefault(r(900));var c=_interopRequireDefault(r(950));var d=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("md5").update(e).digest()}var o=md5;t["default"]=o},332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var o=parse;t["default"]=o},814:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=new Uint8Array(256);let i=o.length;function rng(){if(i>o.length-16){n.default.randomFillSync(o);i=0}return o.slice(i,i+=16)}},274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return n.default.createHash("sha1").update(e).digest()}var o=sha1;t["default"]=o},950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const o=[];for(let e=0;e<256;++e){o.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase();if(!(0,n.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let s;let a=0;let u=0;function v1(e,t,r){let l=t&&r||0;const c=t||new Array(16);e=e||{};let d=e.node||i;let f=e.clockseq!==undefined?e.clockseq:s;if(d==null||f==null){const t=e.random||(e.rng||n.default)();if(d==null){d=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(f==null){f=s=(t[6]<<8|t[7])&16383}}let p=e.msecs!==undefined?e.msecs:Date.now();let h=e.nsecs!==undefined?e.nsecs:u+1;const m=p-a+(h-u)/1e4;if(m<0&&e.clockseq===undefined){f=f+1&16383}if((m<0||p>a)&&e.nsecs===undefined){h=0}if(h>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}a=p;u=h;s=f;p+=122192928e5;const v=((p&268435455)*1e4+h)%4294967296;c[l++]=v>>>24&255;c[l++]=v>>>16&255;c[l++]=v>>>8&255;c[l++]=v&255;const g=p/4294967296*1e4&268435455;c[l++]=g>>>8&255;c[l++]=g&255;c[l++]=g>>>24&15|16;c[l++]=g>>>16&255;c[l++]=f>>>8|128;c[l++]=f&255;for(let e=0;e<6;++e){c[l+e]=d[e]}return t||(0,o.default)(c)}var l=v1;t["default"]=l},409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v3",48,o.default);var s=i;t["default"]=s},998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var n=_interopRequireDefault(r(950));var o=_interopRequireDefault(r(746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(807));var o=_interopRequireDefault(r(950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||n.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,o.default)(i)}var i=v4;t["default"]=i},120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(998));var o=_interopRequireDefault(r(274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,n.default)("v5",80,o.default);var s=i;t["default"]=s},900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&n.default.test(e)}var o=validate;t["default"]=o},595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var n=_interopRequireDefault(r(900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,n.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var o=version;t["default"]=o},491:e=>{"use strict";e.exports=require("assert")},81:e=>{"use strict";e.exports=require("child_process")},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},147:e=>{"use strict";e.exports=require("fs")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},808:e=>{"use strict";e.exports=require("net")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},404:e=>{"use strict";e.exports=require("tls")},837:e=>{"use strict";e.exports=require("util")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var o=t[r]={exports:{}};var i=true;try{e[r].call(o.exports,o,o.exports,__nccwpck_require__);i=false}finally{if(i)delete t[r]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(95);module.exports=r})(); \ No newline at end of file diff --git a/src/callExecutables.ts b/src/callExecutables.ts index f10fd53b..aa95913b 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -72,7 +72,7 @@ export function prepareAWS(awsCredentialsB64: string, awsConfigB64: string) { export function call(command: string, secret = false) { const id = ++callId !secret && core.info(`Call #${id} command: '${command}'`) - const spawnResult = execSync(command, {encoding: 'utf8', stdio: 'pipe'}) + const spawnResult = execSync(command, {encoding: 'utf8', maxBuffer: Infinity, stdio: 'pipe'}) core.debug(`Call #${id} result ${spawnResult}`) return spawnResult } @@ -85,7 +85,7 @@ export function callAsync( return new Promise((resolve, reject) => { const id = ++callId !secret && core.info(`Call #${id} command: '${command}' with cwd '${cwd}'`) - const proc = exec(command, {encoding: 'utf8', cwd}) + const proc = exec(command, {encoding: 'utf8', maxBuffer: Infinity, cwd}) if (!proc.stdio || !proc.stdout || !proc.stderr) { core.info(`Error in callAsync #${id}: can't spawn process`) throw new Error(`Error in callAsync #${id}: can't spawn process`) From 3a72654fc1d8b38ffb62ba6e512b03947e9595d9 Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Tue, 13 Jun 2023 13:34:37 +0300 Subject: [PATCH 65/77] logs: update error scheduler target message --- dist/main/index.js | 2 +- src/errorScheduler.ts | 2 +- src/workload.ts | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 8b4994f0..b3aaf4b3 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Error scheduler target: (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/errorScheduler.ts b/src/errorScheduler.ts index 4684180c..48fc65f3 100644 --- a/src/errorScheduler.ts +++ b/src/errorScheduler.ts @@ -13,7 +13,7 @@ export async function errorScheduler( `get pods database-sample-0 -o=jsonpath='{.status.podIP}'` ) ).split('\n')[0] - core.info(`Error scheduler target: (database-sample-0) IP: ${targetIP}`) + core.info(`Target of the error scheduler (database-sample-0) IP: ${targetIP}`) // get grafana pod name grafanaPod = grafanaPodName diff --git a/src/workload.ts b/src/workload.ts index 66e51ec7..1a6ae764 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -140,6 +140,7 @@ async function saveLogs( ) { let logs = await callKubernetesAsync(`logs job/${id}-wl-${command}`) + // TODO: print logs // core.startGroup(`Workload ${id} ${command} logs:`) // core.info(logs) // core.endGroup() From 4ed7d59ee6bf937ec97c38e280f955716d9e6a66 Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Thu, 20 Jul 2023 18:38:29 +0300 Subject: [PATCH 66/77] feat: add workload id into grafana screenshot pod name --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index b3aaf4b3..2909d40d 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 016ab1f4..81aa78a1 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -24,7 +24,7 @@ export async function grafanaScreenshot( core.debug('grafana query: ' + query) const imageb64 = await core.group('Get base64 image', () => callKubernetesAsync( - `run -q -i --image=busybox --rm grafana-screenshoter --restart=Never -- sh -c "wget -q -O- '${query}' | base64"` + `run -q -i --image=busybox --rm grafana-screenshoter-${workloadId} --restart=Never -- sh -c "wget -q -O- '${query}' | base64"` ) ) core.debug( From f1f0fbe79a85895cee8a8ad7a2b7331477f59dee Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Thu, 20 Jul 2023 18:39:55 +0300 Subject: [PATCH 67/77] feat: add .idea to gitignore --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 18e337dd..2290fbf5 100644 --- a/.gitignore +++ b/.gitignore @@ -96,4 +96,7 @@ Thumbs.db # Ignore built ts files __tests__/runner/* -lib/**/* \ No newline at end of file +lib/**/* + +# IDEs +.idea From a32b43f802cb5abb9ee245a6e8efcdc05250a5ea Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Thu, 20 Jul 2023 19:03:34 +0300 Subject: [PATCH 68/77] feat: add workload id into picture file name --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 2909d40d..c91667ee 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");yield(0,u.writeFile)("pic.png",Buffer.from(c,"base64"));const v=`${p}-${(new Date).valueOf()}.png`;yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./pic.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm pic.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index 81aa78a1..f0837d4a 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -34,20 +34,23 @@ export async function grafanaScreenshot( imageb64.slice(-100) ) core.debug('Write picture to FS') - // write image to fs - await writeFile('pic.png', Buffer.from(imageb64, 'base64')) const pictureName = `${workloadId}-${new Date().valueOf()}.png` - // upload + // write image to fs + await writeFile(`${pictureName}.png`, Buffer.from(imageb64, 'base64')) + + // upload await callAsync( - `aws s3 --endpoint-url=${s3Endpoint} cp ./pic.png "s3://${path.join( + `aws s3 --endpoint-url=${s3Endpoint} cp ./${pictureName}.png "s3://${path.join( s3Folder, pictureName )}"` ) + // delete - await callAsync(`rm pic.png`) + await callAsync(`rm ${pictureName}.png`) + // return name const fullPictureUri = 'https://' + path.join(s3Endpoint.split('//')[1], s3Folder, pictureName) From 07dc86a7f3b56c1384030b6c2cac573b04fef329 Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Fri, 4 Aug 2023 17:58:53 +0300 Subject: [PATCH 69/77] feat: save workload logs even on withTimeout fail --- dist/main/index.js | 2 +- src/workload.ts | 49 ++++++++++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index c91667ee..02ba04ec 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/workload.ts b/src/workload.ts index 1a6ae764..b4872e49 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -106,31 +106,34 @@ export function runWorkload( kubectl => `${kubectl} apply -f - < { - const status = JSON.parse( - await callKubernetesAsync( - `get job/${options.id}-wl-${command} -o=jsonpath={.status}` + + try { + await withTimeout( + options.timeoutMins, + 15, + `Workload ${options.id} ${command}`, + async () => { + const status = JSON.parse( + await callKubernetesAsync( + `get job/${options.id}-wl-${command} -o=jsonpath={.status}` + ) ) - ) - core.debug('Workload status check: ' + JSON.stringify(status)) - if (status.failed) { - const msg = `Workload ${options.id} ${command} failed` - core.info(msg) - await saveLogs(options.id, command) - throw new Error(msg) + core.debug('Workload status check: ' + JSON.stringify(status)) + if (status.failed) { + const msg = `Workload ${options.id} ${command} failed` + core.info(msg) + await saveLogs(options.id, command) + throw new Error(msg) + } + return (status.complete || status.succeeded); } - return (status.complete || status.succeeded); - } - ) - const endTime = new Date() - // print logs - await saveLogs(options.id, command) - return {startTime, endTime} + ) + } finally { + const endTime = new Date() + // print logs + await saveLogs(options.id, command) + return {startTime, endTime} + } }) } From 8f9c684841308fc1bcbbf156c99f81fd9c46b4ec Mon Sep 17 00:00:00 2001 From: Vadim Vladimirov Date: Fri, 4 Aug 2023 18:05:38 +0300 Subject: [PATCH 70/77] fix: duplicate .png in screenshot filename --- dist/main/index.js | 2 +- src/grafanaScreenshot.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 02ba04ec..6ed16f9d 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/grafanaScreenshot.ts b/src/grafanaScreenshot.ts index f0837d4a..4c05c857 100644 --- a/src/grafanaScreenshot.ts +++ b/src/grafanaScreenshot.ts @@ -35,25 +35,25 @@ export async function grafanaScreenshot( ) core.debug('Write picture to FS') - const pictureName = `${workloadId}-${new Date().valueOf()}.png` + const fileName = `${workloadId}-${new Date().valueOf()}.png` // write image to fs - await writeFile(`${pictureName}.png`, Buffer.from(imageb64, 'base64')) + await writeFile(fileName, Buffer.from(imageb64, 'base64')) // upload await callAsync( - `aws s3 --endpoint-url=${s3Endpoint} cp ./${pictureName}.png "s3://${path.join( + `aws s3 --endpoint-url=${s3Endpoint} cp ./${fileName} "s3://${path.join( s3Folder, - pictureName + fileName )}"` ) // delete - await callAsync(`rm ${pictureName}.png`) + await callAsync(`rm ${fileName}`) // return name const fullPictureUri = - 'https://' + path.join(s3Endpoint.split('//')[1], s3Folder, pictureName) + 'https://' + path.join(s3Endpoint.split('//')[1], s3Folder, fileName) core.debug('fullPictureUri: ' + fullPictureUri) return `${fullPictureUri}` } From 7f1e143ae4a17c6ab662011efe2217d6c7631a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F?= Date: Wed, 16 Aug 2023 10:16:47 +0300 Subject: [PATCH 71/77] Add width and height params --- action.yml | 6 ++++++ dist/main/index.js | 2 +- src/errorScheduler.ts | 2 +- src/main.ts | 8 ++++++-- src/parseArguments.ts | 10 +++++++++- 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/action.yml b/action.yml index f8bb57ce..fc80c899 100644 --- a/action.yml +++ b/action.yml @@ -37,6 +37,12 @@ inputs: grafana_dashboard: description: 'Grafana service dashboard' required: true + grafana_dashboard_width: + description: 'Grafana service screenshot dashboard width' + required: false + grafana_dashboard_height: + description: 'Grafana service screenshot dashboard height' + required: false ydb_version: description: 'YDB version to run SLO over: use docker tag or `newest`' required: true diff --git a/dist/main/index.js b/dist/main/index.js index 6ed16f9d..2f2ca43e 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e,i.getInput("grafana_dashboard")||"7CzMl5t4k"),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C,grafanaDashboardWidth:V,grafanaDashboardHeight:U}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const F=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const j=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(j)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const B=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(B,30);i.info("Mutex obtained!");E=true;const L=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const x=e.map((()=>false));const I=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,L[a],e.path,e.buildOptions,e.buildContext).then((()=>{x[a]=true}))))]);const $=I[0].status==="fulfilled"&&x.filter((e=>e)).length>0;i.debug(`builded: [${x.toString()}], continueRun: ${$}`);if(I[0].status==="fulfilled"){y=true}if(x.every((e=>e))){i.info("All workloads builded successfully")}else{if($){x.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if($){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:L[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:L[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(j.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(F,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C,V,U);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(F,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{const e=[];let a=-1;let p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";const w=Number(s.getInput("grafana_dashboard_width")||"1500");const _=Number(s.getInput("grafana_dashboard_height")||"1700");let b=s.getInput("ydb_version");const T=Number(s.getInput("time_between_phases")||"20");const E=Number(s.getInput("shutdown_time")||"30");if(isNaN(T))throw new Error("time_between_phases is not a number");if(isNaN(E))throw new Error("shutdown_time is not a number");if(b==="")b="23.1.26";if(b==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();b=e[e.length-1];s.info(`Use YDB docker version = '${b}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:b,timeBetweenPhases:T,shutdownTime:E,grafanaDomain:h,grafanaDashboard:g,grafanaDashboardWidth:w,grafanaDashboardHeight:_}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){const a=e==-1?"":`${e}`;const p=s.getInput(`language_id${a}`);const t=s.getInput(`language${a}`);const d=s.getInput(`workload_path${a}`);const r=s.getInput(`workload_build_context${a}`);const i=s.getInput(`workload_build_options${a}`);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${`language_id${a}`} and ${`workload_path${a}`} are not presented`);return null}const o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * diff --git a/src/errorScheduler.ts b/src/errorScheduler.ts index 48fc65f3..dd666205 100644 --- a/src/errorScheduler.ts +++ b/src/errorScheduler.ts @@ -80,7 +80,7 @@ async function createError( // run command callKubernetesAsync(kubeCommand), // annotate - annotate(name), + annotate(name, core.getInput('grafana_dashboard') || '7CzMl5t4k'), // wait till next new Promise(resolve => { setTimeout(resolve, timeBetweenS * 1000) diff --git a/src/main.ts b/src/main.ts index d2c9e3f2..43e7002c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -40,7 +40,9 @@ async function main(): Promise { timeBetweenPhases, shutdownTime, grafanaDomain, - grafanaDashboard + grafanaDashboard, + grafanaDashboardWidth, + grafanaDashboardHeight } = parseArguments() core.debug(`Setting up OctoKit`) @@ -217,7 +219,9 @@ async function main(): Promise { workloads[i].id, timings.startTime, timings.endTime, - grafanaDashboard + grafanaDashboard, + grafanaDashboardWidth, + grafanaDashboardHeight ) const comment = ` :volcano: Here are results of SLO test for **${ diff --git a/src/parseArguments.ts b/src/parseArguments.ts index be4158fa..f95fd9e4 100644 --- a/src/parseArguments.ts +++ b/src/parseArguments.ts @@ -43,6 +43,12 @@ export function parseArguments() { const s3Folder = core.getInput('s3_images_folder') const grafanaDomain = core.getInput('grafana_domain') const grafanaDashboard = core.getInput('grafana_dashboard') || '7CzMl5t4k' + const grafanaDashboardWidth = Number( + core.getInput('grafana_dashboard_width') || '1500' + ) + const grafanaDashboardHeight = Number( + core.getInput('grafana_dashboard_height') || '1700' + ) let ydbVersion = core.getInput('ydb_version') @@ -79,7 +85,9 @@ export function parseArguments() { timeBetweenPhases, shutdownTime, grafanaDomain, - grafanaDashboard + grafanaDashboard, + grafanaDashboardWidth, + grafanaDashboardHeight } }) } From 58cf63fe2f391ada6b1ad2fafe6ab9a73328b1cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F?= Date: Wed, 16 Aug 2023 10:49:03 +0300 Subject: [PATCH 72/77] Update index.js file. Added width and height params for screenshot --- dist/main/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/main/index.js b/dist/main/index.js index 2f2ca43e..410efcb6 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,4 +1,4 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e,i.getInput("grafana_dashboard")||"7CzMl5t4k"),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C,grafanaDashboardWidth:V,grafanaDashboardHeight:U}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const F=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const j=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(j)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const B=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(B,30);i.info("Mutex obtained!");E=true;const L=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const x=e.map((()=>false));const I=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,L[a],e.path,e.buildOptions,e.buildContext).then((()=>{x[a]=true}))))]);const $=I[0].status==="fulfilled"&&x.filter((e=>e)).length>0;i.debug(`builded: [${x.toString()}], continueRun: ${$}`);if(I[0].status==="fulfilled"){y=true}if(x.every((e=>e))){i.info("All workloads builded successfully")}else{if($){x.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if($){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:L[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:L[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(j.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(F,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C,V,U);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(F,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{const e=[];let a=-1;let p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";const w=Number(s.getInput("grafana_dashboard_width")||"1500");const _=Number(s.getInput("grafana_dashboard_height")||"1700");let b=s.getInput("ydb_version");const T=Number(s.getInput("time_between_phases")||"20");const E=Number(s.getInput("shutdown_time")||"30");if(isNaN(T))throw new Error("time_between_phases is not a number");if(isNaN(E))throw new Error("shutdown_time is not a number");if(b==="")b="23.1.26";if(b==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();b=e[e.length-1];s.info(`Use YDB docker version = '${b}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:b,timeBetweenPhases:T,shutdownTime:E,grafanaDomain:h,grafanaDashboard:g,grafanaDashboardWidth:w,grafanaDashboardHeight:_}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){const a=e==-1?"":`${e}`;const p=s.getInput(`language_id${a}`);const t=s.getInput(`language${a}`);const d=s.getInput(`workload_path${a}`);const r=s.getInput(`workload_build_context${a}`);const i=s.getInput(`workload_build_options${a}`);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${`language_id${a}`} and ${`workload_path${a}`} are not presented`);return null}const o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e,i.getInput("grafana_dashboard")||"7CzMl5t4k"),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C,grafanaDashboardWidth:V,grafanaDashboardHeight:U}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const F=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const j=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(j)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const B=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(B,30);i.info("Mutex obtained!");E=true;const L=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const x=e.map((()=>false));const I=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,L[a],e.path,e.buildOptions,e.buildContext).then((()=>{x[a]=true}))))]);const $=I[0].status==="fulfilled"&&x.filter((e=>e)).length>0;i.debug(`builded: [${x.toString()}], continueRun: ${$}`);if(I[0].status==="fulfilled"){y=true}if(x.every((e=>e))){i.info("All workloads builded successfully")}else{if($){x.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if($){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:L[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:L[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(j.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(F,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C,V,U);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(F,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";const w=Number(s.getInput("grafana_dashboard_width")||"1500");const _=Number(s.getInput("grafana_dashboard_height")||"1700");let b=s.getInput("ydb_version");const T=Number(s.getInput("time_between_phases")||"20");const E=Number(s.getInput("shutdown_time")||"30");if(isNaN(T))throw new Error("time_between_phases is not a number");if(isNaN(E))throw new Error("shutdown_time is not a number");if(b==="")b="23.1.26";if(b==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();b=e[e.length-1];s.info(`Use YDB docker version = '${b}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:b,timeBetweenPhases:T,shutdownTime:E,grafanaDomain:h,grafanaDashboard:g,grafanaDashboardWidth:w,grafanaDashboardHeight:_}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * From 6039fd7244deac2deb7d451678c8509b8568f45d Mon Sep 17 00:00:00 2001 From: Aleksey Myasnikov Date: Wed, 6 Mar 2024 16:26:12 +0300 Subject: [PATCH 73/77] 1.1.0: switch to node20 --- .github/workflows/check-dist.yml | 4 +- action.yml | 2 +- package-lock.json | 431 +++++++++++++++++++++++-------- package.json | 9 +- src/callExecutables.ts | 16 +- src/workload.ts | 21 +- 6 files changed, 350 insertions(+), 133 deletions(-) diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 99c1f04a..ba6b1f68 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -23,10 +23,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set Node.js 16.x + - name: Set Node.js 20.x uses: actions/setup-node@v3.6.0 with: - node-version: 16.x + node-version: 20.x - name: Install dependencies run: npm ci diff --git a/action.yml b/action.yml index f8bb57ce..98096c75 100644 --- a/action.yml +++ b/action.yml @@ -138,6 +138,6 @@ inputs: description: 'SLO workload #5 docker build arguments' required: false runs: - using: 'node16' + using: 'node20' main: 'dist/main/index.js' post: 'dist/post/index.js' diff --git a/package-lock.json b/package-lock.json index cdad063b..f1246b02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "slo-tests", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "slo-tests", - "version": "1.0.0", + "version": "1.1.0", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", - "@octokit/rest": "^19.0.11" + "@octokit/rest": "^19.0.11", + "fs-to-json": "^0.2.0" }, "devDependencies": { "@types/node": "^18.16.3", @@ -69,17 +70,89 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/compat-data": { "version": "7.21.7", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", @@ -126,21 +199,21 @@ "dev": true }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", - "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -169,43 +242,43 @@ } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -264,30 +337,30 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -317,13 +390,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -402,9 +475,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -603,34 +676,34 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", - "debug": "^4.1.0", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -647,13 +720,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2057,6 +2130,14 @@ "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", "dev": true }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -2181,19 +2262,28 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/before-after-hook": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, + "node_modules/binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2414,8 +2504,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/convert-source-map": { "version": "2.0.0", @@ -2573,6 +2662,29 @@ "node": ">=6.0.0" } }, + "node_modules/editions": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", + "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", + "dependencies": { + "errlop": "^2.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/editions/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.394", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.394.tgz", @@ -2597,6 +2709,17 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/errlop": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz", + "integrity": "sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==", + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -2996,9 +3119,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -3059,9 +3182,9 @@ } }, "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -3392,11 +3515,41 @@ "is-callable": "^1.1.3" } }, + "node_modules/fs-to-json": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/fs-to-json/-/fs-to-json-0.2.0.tgz", + "integrity": "sha512-Su6A40uKNna/BEQeSct2AsS/IaZN24vMU87PWLsr3eFJyEVHry108Qdg0tFqyOgQZIEsIykp65/eIKMqYkKnnw==", + "dependencies": { + "async": "^2.6.0", + "glob": "^7.1.2", + "istextorbinary": "^2.1.0", + "shelljs": "^0.8.2", + "yargs-parser": "^10.0.0" + }, + "bin": { + "fs-to-json": "src/cli.js" + } + }, + "node_modules/fs-to-json/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/fs-to-json/node_modules/yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dependencies": { + "camelcase": "^4.1.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -3415,8 +3568,7 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/function.prototype.name": { "version": "1.1.5", @@ -3519,7 +3671,6 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3625,7 +3776,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -3774,7 +3924,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3783,8 +3932,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/internal-slot": { "version": "1.0.5", @@ -3800,6 +3948,14 @@ "node": ">= 0.4" } }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -3880,7 +4036,6 @@ "version": "2.12.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -4174,9 +4329,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -4223,6 +4378,22 @@ "node": ">=8" } }, + "node_modules/istextorbinary": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz", + "integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==", + "dependencies": { + "binaryextensions": "^2.1.2", + "editions": "^2.2.0", + "textextensions": "^2.5.0" + }, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/jest": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", @@ -4931,6 +5102,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -4992,9 +5168,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -5056,7 +5232,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5365,7 +5540,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -5382,8 +5556,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-type": { "version": "4.0.0", @@ -5611,6 +5784,17 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -5647,7 +5831,6 @@ "version": "1.22.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, "dependencies": { "is-core-module": "^2.11.0", "path-parse": "^1.0.7", @@ -5762,9 +5945,9 @@ } }, "node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5815,6 +5998,22 @@ "node": ">=8" } }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -6044,7 +6243,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -6082,6 +6280,17 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/textextensions": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz", + "integrity": "sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==", + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -6456,9 +6665,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" diff --git a/package.json b/package.json index f4d8dbf9..6bacf038 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "slo-tests", - "version": "1.0.0", + "version": "1.1.0", "private": true, "description": "TypeScript action for performing SLO tests for YDB in k8s cluster", "main": "lib/main.js", "scripts": { - "build": "tsc", + "build": "npx fs-to-json --input \"k8s/ci/*.yaml\" --output src/manifests.json && tsc", "format": "prettier --write '**/*.ts'", "format-check": "prettier --check '**/*.ts'", "lint": "eslint src/**/*.ts", @@ -27,7 +27,8 @@ "dependencies": { "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", - "@octokit/rest": "^19.0.11" + "@octokit/rest": "^19.0.11", + "fs-to-json": "^0.2.0" }, "devDependencies": { "@types/node": "^18.16.3", @@ -42,4 +43,4 @@ "ts-jest": "^29.1.0", "typescript": "^5.0.4" } -} \ No newline at end of file +} diff --git a/src/callExecutables.ts b/src/callExecutables.ts index aa95913b..44fd5c86 100644 --- a/src/callExecutables.ts +++ b/src/callExecutables.ts @@ -72,7 +72,11 @@ export function prepareAWS(awsCredentialsB64: string, awsConfigB64: string) { export function call(command: string, secret = false) { const id = ++callId !secret && core.info(`Call #${id} command: '${command}'`) - const spawnResult = execSync(command, {encoding: 'utf8', maxBuffer: Infinity, stdio: 'pipe'}) + const spawnResult = execSync(command, { + encoding: 'utf8', + maxBuffer: Infinity, + stdio: 'pipe' + }) core.debug(`Call #${id} result ${spawnResult}`) return spawnResult } @@ -113,14 +117,20 @@ export function callAsync( } else { if (secret) core.info(`Call #${id} async with secrets failed - on close`) - else core.info(`Call #${id} async failed - on close:\nError: ${err}\nOutput: ${out}`) + else + core.info( + `Call #${id} async failed - on close:\nError: ${err}\nOutput: ${out}` + ) reject(new Error(err)) } }) proc.on('error', err => { if (secret) core.info(`Call #${id} async with secrets failed - on error`) - else core.info(`Call #${id} async failed - on error:\nError: ${err}\nOutput: ${out}`) + else + core.info( + `Call #${id} async failed - on error:\nError: ${err}\nOutput: ${out}` + ) reject(err) }) diff --git a/src/workload.ts b/src/workload.ts index 1a6ae764..0f0a939e 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -13,7 +13,7 @@ import {withTimeout} from './utils/withTimeout' const workloadManifestTemplate = manifests['k8s/ci/workload.yaml'].content -const fs = require('fs'); +const fs = require('fs') export function dockerLogin(repo: string, user: string, password: string) { return logGroup('Docker login', async () => { @@ -124,7 +124,7 @@ export function runWorkload( await saveLogs(options.id, command) throw new Error(msg) } - return (status.complete || status.succeeded); + return status.complete || status.succeeded } ) const endTime = new Date() @@ -134,10 +134,7 @@ export function runWorkload( }) } -async function saveLogs( - id: string, - command: string -) { +async function saveLogs(id: string, command: string) { let logs = await callKubernetesAsync(`logs job/${id}-wl-${command}`) // TODO: print logs @@ -146,13 +143,13 @@ async function saveLogs( // core.endGroup() try { - let dir = "./logs" - if (!fs.existsSync(dir)){ - await fs.promises.mkdir(dir); + let dir = './logs' + if (!fs.existsSync(dir)) { + await fs.promises.mkdir(dir) } - await fs.promises.writeFile(`${dir}/${id}-${command}.log`, logs); + await fs.promises.writeFile(`${dir}/${id}-${command}.log`, logs) } catch (e) { - core.info(`error write file for ${id}-${command}: ${(e as Error).message}`) + core.info(`error write file for ${id}-${command}: ${(e as Error).message}`) } -} \ No newline at end of file +} From afbdbaed64aa2a3c5e7ffd166d48924161a31615 Mon Sep 17 00:00:00 2001 From: Aleksey Myasnikov Date: Sat, 23 Mar 2024 14:50:22 +0300 Subject: [PATCH 74/77] actions/checkout@v4 --- .github/workflows/check-dist.yml | 2 +- dist/main/index.js | 2 +- src/manifests.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index ba6b1f68..972a2383 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set Node.js 20.x uses: actions/setup-node@v3.6.0 diff --git a/dist/main/index.js b/dist/main/index.js index c91667ee..30ea6ac4 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -4,4 +4,4 @@ * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/manifests.json b/src/manifests.json index 8d23310c..2b3987d5 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file +{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file From d7aa51c645703e86463ffc4ab9550ce206be15d5 Mon Sep 17 00:00:00 2001 From: Aleksey Myasnikov Date: Sat, 23 Mar 2024 15:04:19 +0300 Subject: [PATCH 75/77] print logs to group --- dist/main/index.js | 4 ++-- src/manifests.json | 2 +- src/workload.ts | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 30ea6ac4..174d1ea1 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);o.group(`Workload ${e} ${a} logs`,(()=>s(this,void 0,void 0,(function*(){o.info(p)}))));try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/manifests.json b/src/manifests.json index 2b3987d5..4171afce 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"}} \ No newline at end of file +{"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"}} \ No newline at end of file diff --git a/src/workload.ts b/src/workload.ts index 0f0a939e..dc0cab96 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -137,10 +137,9 @@ export function runWorkload( async function saveLogs(id: string, command: string) { let logs = await callKubernetesAsync(`logs job/${id}-wl-${command}`) - // TODO: print logs - // core.startGroup(`Workload ${id} ${command} logs:`) - // core.info(logs) - // core.endGroup() + core.group(`Workload ${id} ${command} logs`, async () => { + core.info(logs) + }) try { let dir = './logs' From f8e9068fd95be2c91c2547d66de3187b1fe800d2 Mon Sep 17 00:00:00 2001 From: Aleksey Myasnikov Date: Sat, 23 Mar 2024 15:25:35 +0300 Subject: [PATCH 76/77] logs to console if fail to safe to logs artifacts --- dist/main/index.js | 4 ++-- src/manifests.json | 2 +- src/workload.ts | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 174d1ea1..89fdf79a 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);o.group(`Workload ${e} ${a} logs`,(()=>s(this,void 0,void 0,(function*(){o.info(p)}))));try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(`${v}.png`,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v}.png "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}.png`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const V=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const U=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(U)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const F=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(F,30);i.info("Mutex obtained!");E=true;const j=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const B=e.map((()=>false));const L=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,j[a],e.path,e.buildOptions,e.buildContext).then((()=>{B[a]=true}))))]);const x=L[0].status==="fulfilled"&&B.filter((e=>e)).length>0;i.debug(`builded: [${B.toString()}], continueRun: ${x}`);if(L[0].status==="fulfilled"){y=true}if(B.every((e=>e))){i.info("All workloads builded successfully")}else{if(x){B.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if(x){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:j[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:j[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(U.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(V,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(V,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";let w=s.getInput("ydb_version");const _=Number(s.getInput("time_between_phases")||"20");const b=Number(s.getInput("shutdown_time")||"30");if(isNaN(_))throw new Error("time_between_phases is not a number");if(isNaN(b))throw new Error("shutdown_time is not a number");if(w==="")w="23.1.26";if(w==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();w=e[e.length-1];s.info(`Use YDB docker version = '${w}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:w,timeBetweenPhases:_,shutdownTime:b,grafanaDomain:h,grafanaDashboard:g}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))));const r=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:r}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(t){o.info(`error write file for ${e}-${a}: ${t.message}`);o.group(`Workload ${e} ${a} logs`,(()=>s(this,void 0,void 0,(function*(){o.info(p)}))))}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/manifests.json b/src/manifests.json index 4171afce..7ce6008d 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"},"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"}} \ No newline at end of file +{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"}} \ No newline at end of file diff --git a/src/workload.ts b/src/workload.ts index dc0cab96..080af76d 100644 --- a/src/workload.ts +++ b/src/workload.ts @@ -137,10 +137,6 @@ export function runWorkload( async function saveLogs(id: string, command: string) { let logs = await callKubernetesAsync(`logs job/${id}-wl-${command}`) - core.group(`Workload ${id} ${command} logs`, async () => { - core.info(logs) - }) - try { let dir = './logs' if (!fs.existsSync(dir)) { @@ -150,5 +146,8 @@ async function saveLogs(id: string, command: string) { await fs.promises.writeFile(`${dir}/${id}-${command}.log`, logs) } catch (e) { core.info(`error write file for ${id}-${command}: ${(e as Error).message}`) + core.group(`Workload ${id} ${command} logs`, async () => { + core.info(logs) + }) } } From aae1b74684897064c07f9b3de7c5e5da65caebda Mon Sep 17 00:00:00 2001 From: Alexey Zorkaltsev Date: Fri, 17 May 2024 15:31:14 +0300 Subject: [PATCH 77/77] The js-version and php-version branches are picked up --- dist/main/index.js | 4 ++-- src/manifests.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/main/index.js b/dist/main/index.js index 98d82680..ff332726 100644 --- a/dist/main/index.js +++ b/dist/main/index.js @@ -1,7 +1,7 @@ -(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=r(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,d)=>{const r=++v;!a&&i.info(`Call #${r} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${r}: can't spawn process`);throw new Error(`Error in callAsync #${r}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${r} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${r} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${r} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${r} async with secrets failed - on close`);else i.info(`Call #${r} async failed - on close:\nError: ${l}\nOutput: ${n}`);d(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${r} async with secrets failed - on error`);else i.info(`Call #${r} async failed - on error:\nError: ${e}\nOutput: ${n}`);d(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=r(p(2186));const l=r(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let d=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${d}${e.refId}`},e)));let r=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;r=r.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${r}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${r}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,d,r,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(r=(d=e===null||e===void 0?void 0:e.schema)===null||d===void 0?void 0:d.fields)===null||r===void 0?void 0:r[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const d of Object.keys(p)){const r=a[d];const s=p[d];n.debug(`Check query '${d}': result: ${JSON.stringify(r)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(r||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${d}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const d=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,r);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,d);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=r(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==d){o.info(`Storage become '${a}', database is '${e}'`);d=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=r(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e,i.getInput("grafana_dashboard")||"7CzMl5t4k"),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const d=p(9419);const r=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,r.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,d.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=r(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,d,r="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${d}, ${r}, ${i}, ${l})`);const s=`http://grafana/render/d/${r.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${d.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const d=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const r=d.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(r.length===0){const d=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(d));const r=yield e.rest.issues.createComment(d);n.debug("Create comment result:"+JSON.stringify(r))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:r[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const d=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(d))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=r(p(2186));const o=r(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:d,s3Endpoint:r,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C,grafanaDashboardWidth:V,grafanaDashboardHeight:U}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const F=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,d);yield(0,c.dockerLogin)(O,k,P);const j=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(j)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const B=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(B,30);i.info("Mutex obtained!");E=true;const L=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const x=e.map((()=>false));const I=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,L[a],e.path,e.buildOptions,e.buildContext).then((()=>{x[a]=true}))))]);const $=I[0].status==="fulfilled"&&x.filter((e=>e)).length>0;i.debug(`builded: [${x.toString()}], continueRun: ${$}`);if(I[0].status==="fulfilled"){y=true}if(x.every((e=>e))){i.info("All workloads builded successfully")}else{if($){x.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if($){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:L[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:L[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(j.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((d,o)=>{if(d.status==="fulfilled"&&o!==a.length-1){const a=d.value;t.push((0,w.checkResults)(F,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(r,S,e[o].id,a.startTime,a.endTime,C,V,U);const d=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(F,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),d)})))())}}}));const d=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(d))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=r(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const d=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+d);const r=JSON.parse(d);i.debug("configmap parsed: "+JSON.stringify(r));if(((a=r===null||r===void 0?void 0:r.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=r===null||r===void 0?void 0:r.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=r===null||r===void 0?void 0:r.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=r(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const d=s.getInput("KUBECONFIG_B64");const r=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";const w=Number(s.getInput("grafana_dashboard_width")||"1500");const _=Number(s.getInput("grafana_dashboard_height")||"1700");let b=s.getInput("ydb_version");const T=Number(s.getInput("time_between_phases")||"20");const E=Number(s.getInput("shutdown_time")||"30");if(isNaN(T))throw new Error("time_between_phases is not a number");if(isNaN(E))throw new Error("shutdown_time is not a number");if(b==="")b="23.1.26";if(b==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();b=e[e.length-1];s.info(`Use YDB docker version = '${b}'`)}return{workloads:e,githubToken:t,kubeconfig:d,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:r,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:b,timeBetweenPhases:T,shutdownTime:E,grafanaDomain:h,grafanaDashboard:g,grafanaDashboardWidth:w,grafanaDashboardHeight:_}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const d=s.getInput("workload_path"+a);const r=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${d}'\n workloadBuildContext='${r}'\n workloadBuildOptions='${i}'`);if(p.length===0||d.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:d};if(t)o.name=t;if(r)o.buildContext=r;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=r(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=r(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=r(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const d=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${d} ( ${new Date(d).toISOString()} )`);do{i.debug(`withTimeout check: ${d} ( ${new Date(d).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var d=Object.getOwnPropertyDescriptor(a,p);if(!d||("get"in d?!a.__esModule:d.writable||d.configurable)){d={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,d)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=r(p(2186));const n=r(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,d){if(!t||t.length===0)t="";if(!d||d.length===0)d=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${d}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const d=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:d,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(p){o.info(`error write file for ${e}-${a}: ${p.message}`)}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=r(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=r(p(2037));const m=r(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const d=getInput(e,a);if(p.includes(d))return true;if(t.includes(d))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=r(p(7147));const i=r(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const d=p(6255);const r=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new d.HttpClient("actions/oidc-client",[new r.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const d=(a=t.result)===null||a===void 0?void 0:a.value;if(!d){throw new Error("Response json body do not have ID Token field")}return d}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=r(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const d=p(2037);const r=p(7147);const{access:s,appendFile:i,writeFile:o}=r.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,r.constants.R_OK|r.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(d.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const d=this.wrap(p,t);return this.addRaw(d).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:d}=e;const r=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),d&&{rowspan:d});return this.wrap(r,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:d}=p||{};const r=Object.assign(Object.assign({},t&&{width:t}),d&&{height:d});const s=this.wrap("img",null,Object.assign({src:e,alt:a},r));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const d=this.wrap(t,e);return this.addRaw(d).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const d=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${d.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=r(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=r(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=r(p(4087));const i=r(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var d=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);d(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,d){function fulfilled(e){try{step(t.next(e))}catch(e){d(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){d(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=r(p(3685));const o=r(p(5687));const n=r(p(9835));const l=r(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.post(e,t,p);return this._processResponse(d,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.put(e,t,p);return this._processResponse(d,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const d=yield this.patch(e,t,p);return this._processResponse(d,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const d=new URL(a);let r=this._prepareRequest(e,d,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(r,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,r,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(d.protocol==="https:"&&d.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==d.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}r=this._prepareRequest(e,i,t);o=yield this.requestRaw(r,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const d=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let r;d.on("socket",(e=>{r=e}));d.setTimeout(this._socketTimeout||3*6e4,(()=>{if(r){r.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));d.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){d.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){d.end()}));a.pipe(d)}else{d.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const d=t.parsedUrl.protocol==="https:";t.httpModule=d?o:i;const r=d?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):r;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const d=e.protocol==="https:";let r=100;if(this.requestOptions){r=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:r,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(d){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:r};a=d?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=d?o.globalAgent:i.globalAgent}if(d&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const d=e.message.statusCode||0;const r={statusCode:d,result:null,headers:{}};if(d===m.NotFound){p(r)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}r.result=s}r.headers=e.message.headers}catch(e){}if(d>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${d})`}const a=new HttpClientError(e,d);a.result=r.result;t(a)}else{p(r)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const d=[e.hostname.toUpperCase()];if(typeof t==="number"){d.push(`${d[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||d.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const d=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const r=p.test(e)||t.test(e);const s=d.test(e);const i=a?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const d=a.endpoint.merge(p,t);d.headers.authorization=withAuthorizationPrefix(e);return a(d)}const r=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=r},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var d=p(3682);var r=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var d,r;for(r=0;r=0)continue;p[d]=e[d]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,d;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(d=0;d=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new d.Collection;const p={baseUrl:r.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=r.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const d=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",d.hook);this.auth=d}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var d=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((d=>{if(t.isPlainObject(a[d])){if(!(d in e))Object.assign(p,{[d]:a[d]});else p[d]=mergeDeep(e[d],a[d])}else{Object.assign(p,{[d]:a[d]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const r=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(r);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var d=e[p],r=[];if(isDefined(d)&&d!==""){if(typeof d==="string"||typeof d==="number"||typeof d==="boolean"){d=d.toString();if(t&&t!=="*"){d=d.substring(0,parseInt(t,10))}r.push(encodeValue(a,d,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(d)){d.filter(isDefined).forEach((function(e){r.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(d).forEach((function(e){if(isDefined(d[e])){r.push(encodeValue(a,d[e],e))}}))}}else{const e=[];if(Array.isArray(d)){d.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(d).forEach((function(p){if(isDefined(d[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,d[p].toString()))}}))}if(isKeyOperator(a)){r.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){r.push(e.join(","))}}}}else{if(a===";"){if(isDefined(d)){r.push(encodeUnreserved(p))}}else if(d===""&&(a==="&"||a==="?")){r.push(encodeUnreserved(p)+"=")}else if(d===""){r.push("")}}return r}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,d){if(t){let e="";const d=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);d.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var r=",";if(e==="?"){r="&"}else if(e!=="#"){r=e}return(d.length!==0?e:"")+d.join(r)}else{return d.join(",")}}else{return encodeReserved(d)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let d;let r=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(r);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(r,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){d=o.data}else{if(Object.keys(o).length){d=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof d!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof d==="undefined"){d=""}return Object.assign({method:a,url:p,headers:t},typeof d!=="undefined"?{body:d}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${d.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var d=p(5030);const r="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const d=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const r=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(r)){d.url=r.replace(o,"/api/graphql")}return e(d).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(d,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${r} ${d.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await d({method:r,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((d=>{if(d.done){return a}let r=false;function done(){r=true}a=a.concat(t?t(d.value,done):d.value.data);if(r){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const d=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return d.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=d},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var d=_interopDefault(p(1223));const r=d((e=>console.warn(e)));const s=d((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let d;if("headers"in p&&typeof p.headers!=="undefined"){d=p.headers}if("response"in p){this.response=p.response;d=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){r(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return d||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var d=p(5030);var r=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(r.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let d;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async r=>{d=r.url;t=r.status;for(const e of r.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const d=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${d?`. See ${d}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(r.statusText,t,{response:{url:d,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:d,status:t,headers:p,data:await getResponseData(r)},request:e})}if(t>=400){const a=await getResponseData(r);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:d,status:t,headers:p,data:a},request:e});throw s}return getResponseData(r)})).then((e=>({status:t,url:d,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${d.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var d=p(5549);var r=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(r,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var r=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(d,null).apply(null,r)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var d=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(d.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return d(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return d(e,a)}))}}e.registry[p].push({hook:t,orig:d})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); +(()=>{var __webpack_modules__={9419:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.callKubernetesPathAsync=a.callKubernetesAsync=a.callKubernetesPath=a.callKubernetes=a.callAsync=a.call=a.prepareAWS=a.prepareK8S=void 0;const i=d(p(2186));const o=p(2081);const n=p(7147);const l=p(2037);const m=s(p(1017));const u=p(8990);let c=null;let v=0;function prepareK8S(e){return(0,u.logGroup)("Prepare k8s",(()=>{const a=m.default.join((0,l.homedir)(),".kube");i.info(`mkdir ${a}`);try{(0,n.mkdirSync)(a)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(a+" EEXIST")}else throw e}if(e.length>0){i.debug("Get kubeconfig string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write kubeconfig to ~/.kube/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".kube/config"),a)}c=call("which kubectl").split("\n")[0];i.info(`kubectl path: ${c}`)}))}a.prepareK8S=prepareK8S;function prepareAWS(e,a){const p=m.default.join((0,l.homedir)(),".aws");i.info(`mkdir ${p}`);try{(0,n.mkdirSync)(p)}catch(e){i.debug("error"+JSON.stringify(e));if((e===null||e===void 0?void 0:e.code)==="EEXIST"){i.debug(p+" EEXIST")}else throw e}if(e.length>0){i.debug("Get aws credentials string");const a=Buffer.from(e,"base64").toString("utf8");i.info(`Write awsCredentials to ~/.aws/credentials`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/credentials"),a)}if(a.length>0){i.debug("Get aws credentials string");const e=Buffer.from(a,"base64").toString("utf8");i.info(`Write awsConfig to ~/.aws/config`);(0,n.writeFileSync)(m.default.join((0,l.homedir)(),".aws/config"),e)}}a.prepareAWS=prepareAWS;function call(e,a=false){const p=++v;!a&&i.info(`Call #${p} command: '${e}'`);const t=(0,o.execSync)(e,{encoding:"utf8",maxBuffer:Infinity,stdio:"pipe"});i.debug(`Call #${p} result ${t}`);return t}a.call=call;function callAsync(e,a=false,p="."){return new Promise(((t,r)=>{const d=++v;!a&&i.info(`Call #${d} command: '${e}' with cwd '${p}'`);const s=(0,o.exec)(e,{encoding:"utf8",maxBuffer:Infinity,cwd:p});if(!s.stdio||!s.stdout||!s.stderr){i.info(`Error in callAsync #${d}: can't spawn process`);throw new Error(`Error in callAsync #${d}: can't spawn process`)}let n="",l="";s.stdout.on("data",(e=>n+=e.toString()));s.stderr.on("data",(e=>l+=e.toString()));s.on("close",(e=>{i.debug(`Call #${d} async code = ${e}`);if(e==0){if(n.length>3e3)i.debug(`Call #${d} async TRUNCATED (full size is ${n.length/1024}kb - showing 3000 symbols) output: \n${n.slice(0,1500)}\n.........\n${n.slice(-1500)}`);else i.debug(`Call #${d} async output \n${n}`);t(n)}else{if(a)i.info(`Call #${d} async with secrets failed - on close`);else i.info(`Call #${d} async failed - on close:\nError: ${l}\nOutput: ${n}`);r(new Error(l))}}));s.on("error",(e=>{if(a)i.info(`Call #${d} async with secrets failed - on error`);else i.info(`Call #${d} async failed - on error:\nError: ${e}\nOutput: ${n}`);r(e)}))}))}a.callAsync=callAsync;function callKubernetes(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(`${c} ${e}`)}a.callKubernetes=callKubernetes;function callKubernetesPath(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return call(e(c))}a.callKubernetesPath=callKubernetesPath;function callKubernetesAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(`${c} ${e}`)}a.callKubernetesAsync=callKubernetesAsync;function callKubernetesPathAsync(e){if(c===null)throw new Error("K8s not initialized, call prepareK8S first");return callAsync(e(c))}a.callKubernetesPathAsync=callKubernetesPathAsync},843:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.checkResults=a.checkGraphValues=a.filterGraphData=a.parseRawGraph=a.getDataFromGrafana=a.getUUID=void 0;const o=i(p(6113));const n=d(p(2186));const l=d(p(5438));const m=p(9419);const u=p(4542);function getUUID(){const e=o.default.randomBytes(16).toString("hex");return e.substring(0,8)+"-"+e.substring(8,12)+"-"+e.substring(12,16)+"-"+e.substring(16,20)+"-"+e.substring(20)}a.getUUID=getUUID;function getDataFromGrafana(e,a,p){return s(this,void 0,void 0,(function*(){const t={queries:p.map(((e,a)=>Object.assign(Object.assign({refId:e.refId,expr:e.expr,key:`Q-${getUUID()}-${a}`,interval:e.interval},e.format?{format:e.format}:{}),{datasource:{type:"prometheus",uid:"prometheus"},editorMode:"code",legendFormat:"__auto",range:false,instant:true,exemplar:false,hide:false,queryType:"timeSeriesQuery",utcOffsetSec:14400,datasourceId:1,intervalMs:5e3,maxDataPoints:1514}))),range:{from:e.toISOString(),to:a.toISOString(),raw:{from:e.toISOString(),to:a.toISOString()}},from:""+e.valueOf(),to:""+a.valueOf()};let r=t.queries.reduce(((e,a)=>e+=a.key),"");t.queries=t.queries.map((e=>Object.assign({requestId:`${r}${e.refId}`},e)));let d=`wget -q -O- --header='content-type: application/json' --post-data='${JSON.stringify(t)}' 'http://grafana/api/ds/query' | base64`;d=d.replace(/'/g,"'\\''");n.debug(`getDataFromGrafana kube request:\nkubectl run -q -i --image=busybox --rm grafana-result-peeker --restart=Never -- sh -c '${d}'`);return Buffer.from(yield(0,m.callKubernetesPathAsync)((e=>`${e} run -q -i --image=busybox --rm grafana-result-peeker-${Math.ceil(Math.random()*1e3%1e3)} --restart=Never -- sh -c '${d}'`)),"base64").toString("utf8")}))}a.getDataFromGrafana=getDataFromGrafana;function parseRawGraph(e){const a=JSON.parse(e);n.debug("Parsed JSON graph data "+JSON.stringify(a));const p=Object.keys(a.results);n.debug("Process graph data");return p.reduce(((e,p)=>{e[p]=a.results[p].frames.map((e=>{var a,p,t,r,d,s;return{value:(t=(p=(a=e===null||e===void 0?void 0:e.data)===null||a===void 0?void 0:a.values)===null||p===void 0?void 0:p[1])===null||t===void 0?void 0:t[0],labels:(s=(d=(r=e===null||e===void 0?void 0:e.schema)===null||r===void 0?void 0:r.fields)===null||d===void 0?void 0:d[1])===null||s===void 0?void 0:s.labels}}));return e}),{})}a.parseRawGraph=parseRawGraph;function filterGraphData(e){return function filterGraphFun(a){return Object.entries(e).reduce(((e,p)=>e&&a.labels[p[0]]===p[1]),true)}}a.filterGraphData=filterGraphData;function checkGraphValues(e,a,p){let t=[];for(const r of Object.keys(p)){const d=a[r];const s=p[r];n.debug(`Check query '${r}': result: ${JSON.stringify(d)}; desired result:${JSON.stringify(s)}`);for(const a of s){const p=Object.assign({job:`workload-${e}`},a.filter);let s=(d||[]).filter(filterGraphData(p));n.debug(`Apply filter '${JSON.stringify(p)}': ${JSON.stringify(s)}`);const i=`${r}${JSON.stringify(p)}`;const o=`slo-${i.replace(/[{":}\[\]]/g,"-")}`;if(s.length===0){n.debug(`Not found results by filter to inspect`);t.push([o,"notfound",i,`Not found results by filter to inspect`])}else{n.debug(`Found results by filter to inspect: ${JSON.stringify(Object.entries(s))}`);for(const[e,p]of Object.entries(s)){const r=a.value[0]===">"?p.value>a.value[1]:p.value0",interval:"1s"},{refId:"max_99_latency",expr:'max_over_time(latency{quantile="0.99"}[$__range])>0',interval:""},{refId:"fail_interval",expr:"sum_over_time(clamp(irate(not_oks[2s])*2, 0, 1)[$__range:1s])>0",interval:"1s"}];const i=yield(0,u.retry)(2,(()=>s(this,void 0,void 0,(function*(){const e=yield getDataFromGrafana(p,t,d);n.debug("graphsRaw: "+e);return parseRawGraph(e)}))));n.debug("parsed: "+JSON.stringify(i));const o=checkGraphValues(a,i,r);n.info("checks: "+JSON.stringify(o));let m=false;let c="SLO check failed: ";for(let a=0;ae[1]=="error")).length>0}))}a.checkResults=checkResults},3179:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.deleteCluster=a.getYdbVersions=a.createCluster=void 0;const o=d(p(2186));const n=p(8990);const l=p(9419);const m=i(p(1542));const u=p(5476);let c=m.default["k8s/ci/database.yaml"].content;let v=m.default["k8s/ci/storage.yaml"].content;function createCluster(e="23.1.19",a,p=10){return s(this,void 0,void 0,(function*(){return(0,n.logGroup)("Create cluster",(()=>s(this,void 0,void 0,(function*(){c=c.replace("${{VERSION}}",e);v=v.replace("${{VERSION}}",e);o.debug("database manifest:\n\n"+c);o.debug("storage manifest:\n\n"+v);o.info("Apply database and storage manifests");o.info("storage apply result:\n"+(0,l.callKubernetesPath)((e=>`${e} apply -f - <`${e} apply -f - <s(this,void 0,void 0,(function*(){o.debug("check status of cluster");const e=getStatus("database");const a=getStatus("storage");o.debug(`Current status of cluster: database - ${e}, storage - ${a}`);if(e!==t){o.info(`Database become '${e}', storage is '${a}'`);t=e}if(a!==r){o.info(`Storage become '${a}', database is '${e}'`);r=a}if(e==="Ready"&&a==="Ready")return true;return false}))))}))))}))}a.createCluster=createCluster;function getYdbVersions(){return(0,n.logGroup)("Get versions",(()=>{const e=(0,l.call)("docker run --rm ghcr.io/regclient/regctl:v0.4.8 tag ls cr.yandex/crptqonuodf51kdj7a7d/ydb");const a=e.split("\n").filter((e=>e.length>0));a.sort();return a}))}a.getYdbVersions=getYdbVersions;function getStatus(e){const a=(0,l.callKubernetes)(`get ${e}s.ydb.tech ${e}-sample -ojsonpath={.status}`);return JSON.parse(a).state}function deleteCluster(){return(0,n.logGroup)("Delete cluster",(()=>{o.info("Delete database and storage manifests");try{o.info("Database delete result:\n"+(0,l.callKubernetes)("delete databases.ydb.tech database-sample"))}catch(e){o.info("Error while deleting database"+JSON.stringify(e))}try{o.info("Storage delete result:\n"+(0,l.callKubernetes)("delete storages.ydb.tech storage-sample"))}catch(e){o.info("Error while deleting storage"+JSON.stringify(e))}try{const e=(0,l.callKubernetes)('get pvc -o=jsonpath="{.items[*].metadata.name}" -l ydb-cluster=slo-storage');o.debug("pvcs"+e);o.info("PVC delete result:\n"+(0,l.callKubernetes)(`delete pvc ${e}`))}catch(e){o.info("Error while deleting pvcs"+JSON.stringify(e))}}))}a.deleteCluster=deleteCluster},8995:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.annotate=a.errorScheduler=void 0;const i=d(p(2186));const o=p(9419);let n=null;function errorScheduler(e,a){return s(this,void 0,void 0,(function*(){const p=(yield(0,o.callKubernetesAsync)(`get pods database-sample-0 -o=jsonpath='{.status.podIP}'`)).split("\n")[0];i.info(`Target of the error scheduler (database-sample-0) IP: ${p}`);n=e;i.info(`Grafana pod name: ${n}`);yield new Promise((e=>{setTimeout(e,a*1e3)}));const freezeCmd=e=>`run -it --image=busybox --rm tablet-${e==="0"?"un":""}freezer --restart=Never --`+` sh -c "wget -q -O- '${p}:8765/tablets/app?`+`TabletID=72057594037968897&node=1&page=SetFreeze&freeze=${e}' "`;yield createError("Freeze tablet",freezeCmd("1"),a);yield createError("Unfreeze tablet",freezeCmd("0"),a);yield createError("Delete database pod",`delete pod database-sample-1`,a);yield createError("Force delete database pod",`delete pod database-sample-1 --force=true --grace-period=0`,a);yield createError("Kill database from inside",`exec -it database-sample-0 -- /bin/bash -c "kill -2 1 && echo 'process killed'"`,a)}))}a.errorScheduler=errorScheduler;function createError(e,a,p){return s(this,void 0,void 0,(function*(){return yield Promise.allSettled([(0,o.callKubernetesAsync)(a),annotate(e,i.getInput("grafana_dashboard")||"7CzMl5t4k"),new Promise((e=>{setTimeout(e,p*1e3)}))]).then((e=>{if(e.filter((e=>e.status==="rejected")).length>0)return Promise.reject("Error in YDB error creation")}))}))}function annotate(e,a="7CzMl5t4k"){const p="http://localhost:3000/api/annotations";const createWgetPost=(e,a)=>`wget -qS -O- --header 'Accept: application/json' --header 'Content-Type: application/json' --post-data '${a}' '${e}'`;const t=`{\\"dashboardUID\\":\\"${a}\\", \\"text\\":\\"${e}\\", \\"tags\\":[]}`;return(0,o.callKubernetes)(`exec -it ${n} --container grafana -- /bin/bash -c "${createWgetPost(p,t)}"`)}a.annotate=annotate},8660:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getInfrastractureEndpoints=void 0;const r=p(9419);const d=p(4542);const s=p(5476);function getInfrastractureEndpoints(){return t(this,void 0,void 0,(function*(){const e=["prometheus-operator","prometheus","prometheus-pushgateway","grafana","grafana-renderer","ydb-operator"];return Promise.allSettled(e.map(getEndpoint)).then((a=>{const p=e.filter(((e,p)=>a[p].status==="rejected"));if(p.length>0){throw new Error(`Not found those required k8s pods: ${p.join(", ")}`)}return{prometheusOperator:a[0].value,prometheus:a[1].value,prometheusPushgateway:a[2].value,grafana:a[3].value,grafanaRenderer:a[4].value,ydbOperator:a[5].value}}))}))}a.getInfrastractureEndpoints=getInfrastractureEndpoints;function getEndpoint(e){return(0,d.retry)(2,(()=>(0,s.withTimeoutSimple)(10,(0,r.callKubernetesAsync)(`get pods -l "app.kubernetes.io/name=${e}" -o jsonpath="{.items[0].metadata.name}"`).then((e=>e.split("\n")[0])))))}},1413:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.postComment=a.grafanaScreenshot=void 0;const o=i(p(1017));const n=d(p(2186));const l=p(5438);const m=p(9419);const u=p(3292);function grafanaScreenshot(e,a,p,t,r,d="7CzMl5t4k",i=1500,l=1100){return s(this,void 0,void 0,(function*(){n.debug(`grafanaScreenshot(${e}, ${a}, ${p}, ${t}, ${r}, ${d}, ${i}, ${l})`);const s=`http://grafana/render/d/${d.split("/")[0]}/slo?orgId=1&from=${t.valueOf()}&to=${r.valueOf()}&width=${i}&height=${l}&tz=Europe%2FIstanbul&kiosk=tv&var-filter=job|=|workload-${p}`;n.debug("grafana query: "+s);const c=yield n.group("Get base64 image",(()=>(0,m.callKubernetesAsync)(`run -q -i --image=busybox --rm grafana-screenshoter-${p} --restart=Never -- sh -c "wget -q -O- '${s}' | base64"`)));n.debug("grafana imageb64: "+c.slice(0,100)+"...TRUNCATED..."+c.slice(-100));n.debug("Write picture to FS");const v=`${p}-${(new Date).valueOf()}.png`;yield(0,u.writeFile)(v,Buffer.from(c,"base64"));yield(0,m.callAsync)(`aws s3 --endpoint-url=${e} cp ./${v} "s3://${o.default.join(a,v)}"`);yield(0,m.callAsync)(`rm ${v}`);const h="https://"+o.default.join(e.split("//")[1],a,v);n.debug("fullPictureUri: "+h);return`${h}`}))}a.grafanaScreenshot=grafanaScreenshot;function postComment(e,a,p){return s(this,void 0,void 0,(function*(){if(!l.context.payload.pull_request)return;const t=`\x3c!-- slo-test-action "${a}" --\x3e`;const r=yield e.rest.issues.listComments(Object.assign({issue_number:l.context.payload.pull_request.number},l.context.repo));const d=r.data.filter((e=>{var a;return(a=e.body)===null||a===void 0?void 0:a.includes(t)}));if(d.length===0){const r=Object.assign(Object.assign({},l.context.repo),{issue_number:l.context.payload.pull_request.number,comment_id:a,body:p+`\n${t}`});n.debug("Create comment with data:"+JSON.stringify(r));const d=yield e.rest.issues.createComment(r);n.debug("Create comment result:"+JSON.stringify(d))}else{const a=Object.assign(Object.assign({},l.context.repo),{comment_id:d[0].id,body:p+`\n${t}`});n.debug("Update comment with data:"+JSON.stringify(a));const r=yield e.rest.issues.updateComment(a);n.debug("Update comment result:"+JSON.stringify(r))}}))}a.postComment=postComment},3109:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});const i=d(p(2186));const o=d(p(5438));const n=p(7653);const l=p(9419);const m=p(1762);const u=p(3179);const c=p(6186);const v=p(8660);const h=p(8995);const g=p(4542);const w=p(843);const _=p(1413);const b=p(6113);const T=!!o.context.payload.pull_request;let E=false;let y=false;function main(){return s(this,void 0,void 0,(function*(){try{let{workloads:e,githubToken:a,kubeconfig:p,awsCredentials:t,awsConfig:r,s3Endpoint:d,s3Folder:S,dockerRepo:O,dockerFolder:D,dockerUsername:k,dockerPassword:P,ydbVersion:A,timeBetweenPhases:N,shutdownTime:G,grafanaDomain:R,grafanaDashboard:C,grafanaDashboardWidth:V,grafanaDashboardHeight:U}=(0,n.parseArguments)();i.debug(`Setting up OctoKit`);const F=o.getOctokit(a);(0,l.prepareK8S)(p);(0,l.prepareAWS)(t,r);yield(0,c.dockerLogin)(O,k,P);const j=yield(0,v.getInfrastractureEndpoints)();i.info(`Services pods: ${JSON.stringify(j)}`);i.info("Run SLO tests for: \n"+e.map((e=>{let a=`#${e.id}`;a+=e.name?`(${e.name})\n`:"\n";a+=`path: '${e.path}'\n`;a+=e.buildContext?`build context: '${e.buildContext}'\n`:"";a+=e.buildOptions?`build options: '${e.buildOptions}'\n`:"";return a})).join("==="));const B=e.length>1?e.map((e=>e.id)).join("__+__"):e[0].id;yield(0,m.obtainMutex)(B,30);i.info("Mutex obtained!");E=true;const L=e.map((e=>(0,c.generateDockerPath)(O,D,e.id)));i.info("Create cluster and build all workloads");const x=e.map((()=>false));const I=yield Promise.allSettled([(0,u.createCluster)(A,15),...e.map(((e,a)=>(0,c.buildWorkload)(e.id,L[a],e.path,e.buildOptions,e.buildContext).then((()=>{x[a]=true}))))]);const $=I[0].status==="fulfilled"&&x.filter((e=>e)).length>0;i.debug(`builded: [${x.toString()}], continueRun: ${$}`);if(I[0].status==="fulfilled"){y=true}if(x.every((e=>e))){i.info("All workloads builded successfully")}else{if($){x.map(((a,p)=>{if(!a)i.info(`Error in '${e[p].id}' build`);else i.info(`'${e[p].id}' build successful`)}))}else{i.info("No workloads builded!")}}if($){const a=yield Promise.allSettled(e.map(((e,a)=>s(this,void 0,void 0,(function*(){return(0,g.retry)(2,(()=>(0,c.runWorkload)("create",{id:e.id,dockerPath:L[a],timeoutMins:2,args:`--min-partitions-count 6 --max-partitions-count 1000 `+`--partition-size 1 --initial-data-count 1000`})))})))));i.debug("create results: "+JSON.stringify(a));if(a.filter((e=>e.status==="fulfilled")).length===0){throw new Error("No workloads performed `create` action, exit")}else{const a=yield Promise.allSettled([...e.map(((e,a)=>(0,c.runWorkload)("run",{id:e.id,dockerPath:L[a],timeoutMins:Math.ceil(((5+4)*N+G)/60),args:`--time ${(5+2)*N} --shutdown-time ${G} --read-rps 1000 `+`--write-rps 100 --prom-pgw http://prometheus-pushgateway:9091`}))),(0,h.errorScheduler)(j.grafana,N)]);i.debug("run results: "+JSON.stringify(a));if(a.slice(0,e.length).filter((e=>e.status==="fulfilled")).length===0){i.info("No successfull workload runs!");throw new Error("No workloads runs completed successfully")}else{const p={success_rate:[{filter:{},value:[">",.98]}],max_99_latency:[{filter:{status:"ok"},value:["<",100]},{filter:{status:"err"},value:["<",3e4]}],fail_interval:[{filter:{},value:["<",20]}]};let t=[];a.map(((r,o)=>{if(r.status==="fulfilled"&&o!==a.length-1){const a=r.value;t.push((0,w.checkResults)(F,e[o].id,a.startTime,a.endTime,p));i.debug("isPullRequest="+T);if(T){i.debug("Push to promises grafana screenshot and postComment");t.push((()=>s(this,void 0,void 0,(function*(){var p;const t=yield(0,_.grafanaScreenshot)(d,S,e[o].id,a.startTime,a.endTime,C,V,U);const r=`\n:volcano: Here are results of SLO test for **${(p=e[o].name)!==null&&p!==void 0?p:e[o].id}**:\n\n[Grafana Dashboard](${R}/d/${C}?orgId=1&from=${a.startTime.valueOf()}&to=${a.endTime.valueOf()})\n\n![SLO-${e[o].id}](${t})\n`;yield(0,_.postComment)(F,(0,b.createHash)("sha1").update(e[o].id).digest().readUint16BE(),r)})))())}}}));const r=yield Promise.allSettled(t);i.info("checkResults and grafana screenshot result: "+JSON.stringify(r))}}}(0,u.deleteCluster)();(0,m.releaseMutex)()}catch(e){if(e instanceof Error)i.setFailed(e.message);if(y){try{(0,u.deleteCluster)()}catch(e){i.info("Failed to delete cluster:"+JSON.stringify(e))}}if(E){try{(0,m.releaseMutex)()}catch(e){i.info("Failed to release mutex:"+JSON.stringify(e))}}}}))}i.info("Main SLO action");main()},1762:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.releaseMutex=a.obtainMutex=a.setBusy=a.isBusy=void 0;const i=d(p(2186));const o=p(9419);const n=p(8990);const l=p(5476);function isBusy(e){var a,p,t;i.debug(`isBusy(${e})`);const r=(0,o.callKubernetes)(`get configmaps ${e} -ojson`);i.debug("isBusy result: "+r);const d=JSON.parse(r);i.debug("configmap parsed: "+JSON.stringify(d));if(((a=d===null||d===void 0?void 0:d.data)===null||a===void 0?void 0:a.busy)!==undefined){i.info(`Mutex locked by ${(p=d===null||d===void 0?void 0:d.data)===null||p===void 0?void 0:p.lockedBy}`);return(t=d===null||d===void 0?void 0:d.data)===null||t===void 0?void 0:t.lockedBy}return false}a.isBusy=isBusy;function setBusy(e){i.debug(`setBusy(${e})`);(0,o.callKubernetesPath)((a=>`${a} create configmap slo-mutex --from-literal=busy=true --from-literal=lockedBy=${e} -o=yaml --dry-run=client | ${a} apply -f -`))}a.setBusy=setBusy;function obtainMutex(e,a,p=20){return(0,n.logGroup)("Obtain mutex",(()=>s(this,void 0,void 0,(function*(){return(0,l.withTimeout)(a,p,"Obtain mutex",(()=>{const a=isBusy("slo-mutex");if(typeof a==="boolean"&&!a){i.debug("Set mutex");setBusy(e);i.info("Mutex obtained");i.debug("Mutex sleep 5s");(0,o.call)("sleep 5");i.debug("Re-check after sleep");const a=isBusy("slo-mutex");if(a!==e){i.info("Mutex is not obtained!");return false}return true}return false}))}))))}a.obtainMutex=obtainMutex;function releaseMutex(){return(0,n.logGroup)("Release mutex",(()=>{(0,o.callKubernetesPath)((e=>`${e} create configmap slo-mutex -o=yaml --dry-run=client | ${e} apply -f -`))}))}a.releaseMutex=releaseMutex},7653:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.parseArguments=void 0;const s=d(p(2186));const i=p(8990);const o=p(3179);function parseArguments(){return(0,i.logGroup)("Parse arguments",(()=>{let e=[];let a=-1,p=true;do{const t=getWorkloadParam(a);if(null===t){if(a!==-1)p=false}else{e.push(t)}a++}while(p);const t=s.getInput("GITHUB_TOKEN");const r=s.getInput("KUBECONFIG_B64");const d=s.getInput("DOCKER_REPO");const i=s.getInput("DOCKER_FOLDER");const n=s.getInput("DOCKER_USERNAME");const l=s.getInput("DOCKER_PASSWORD");const m=s.getInput("AWS_CREDENTIALS_B64");const u=s.getInput("AWS_CONFIG_B64");const c=s.getInput("s3_endpoint");const v=s.getInput("s3_images_folder");const h=s.getInput("grafana_domain");const g=s.getInput("grafana_dashboard")||"7CzMl5t4k";const w=Number(s.getInput("grafana_dashboard_width")||"1500");const _=Number(s.getInput("grafana_dashboard_height")||"1700");let b=s.getInput("ydb_version");const T=Number(s.getInput("time_between_phases")||"20");const E=Number(s.getInput("shutdown_time")||"30");if(isNaN(T))throw new Error("time_between_phases is not a number");if(isNaN(E))throw new Error("shutdown_time is not a number");if(b==="")b="23.1.26";if(b==="newest"){s.info("Get YDB docker versions");const e=(0,o.getYdbVersions)();b=e[e.length-1];s.info(`Use YDB docker version = '${b}'`)}return{workloads:e,githubToken:t,kubeconfig:r,awsCredentials:m,awsConfig:u,s3Endpoint:c,s3Folder:v,dockerRepo:d,dockerFolder:i,dockerUsername:n,dockerPassword:l,ydbVersion:b,timeBetweenPhases:T,shutdownTime:E,grafanaDomain:h,grafanaDashboard:g,grafanaDashboardWidth:w,grafanaDashboardHeight:_}}))}a.parseArguments=parseArguments;function getWorkloadParam(e){let a=e==-1?"":`${e}`;const p=s.getInput("language_id"+a);const t=s.getInput("language"+a);const r=s.getInput("workload_path"+a);const d=s.getInput("workload_build_context"+a);const i=s.getInput("workload_build_options"+a);s.debug(`getWorkloadParam(${e}):\n suffix='${a}'\n languageId='${p}'\n languageName='${t}'\n workloadPath='${r}'\n workloadBuildContext='${d}'\n workloadBuildOptions='${i}'`);if(p.length===0||r.length===0){s.debug(`Not found params for ${e} workload - ${"language_id"+a} and ${"workload_path"+a} are not presented`);return null}let o={id:p,path:r};if(t)o.name=t;if(d)o.buildContext=d;if(i)o.buildOptions=i;return o}},8990:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.logGroup=void 0;const s=d(p(2186));function logGroup(e,a){s.startGroup(e);const p=a();if(p instanceof Promise){return p.finally((()=>{s.endGroup()}))}else{s.endGroup();return p}}a.logGroup=logGroup},4542:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.retry=void 0;const i=d(p(2186));function retry(e,a){return s(this,void 0,void 0,(function*(){let p;while(e>0){try{return yield a()}catch(e){p=e}e--}i.info("All retries have been used, re-throwing error");throw p}))}a.retry=retry},5476:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.withTimeoutSimple=a.withTimeout=a.TimeoutExceededError=void 0;const i=d(p(2186));class TimeoutExceededError extends Error{}a.TimeoutExceededError=TimeoutExceededError;function withTimeout(e,a,p,t){return s(this,void 0,void 0,(function*(){i.debug(`Call withTimeout: timeout=${e}mins refreshPeriod=${a}s now: ${(new Date).toISOString()}`);const r=(new Date).valueOf()+e*1e3*60;i.debug(`Deadline is set to: ${r} ( ${new Date(r).toISOString()} )`);do{i.debug(`withTimeout check: ${r} ( ${new Date(r).toISOString()} )`);if(yield t())return;yield new Promise((e=>setTimeout(e,a*1e3)))}while((new Date).valueOf()setTimeout(p,e*1e3)));return Promise.race([a,p])}))}a.withTimeoutSimple=withTimeoutSimple},6186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;var r=Object.getOwnPropertyDescriptor(a,p);if(!r||("get"in r?!a.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return a[p]}}}Object.defineProperty(e,t,r)}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.prototype.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:true});a.runWorkload=a.buildWorkload=a.generateDockerPath=a.dockerLogin=void 0;const o=d(p(2186));const n=d(p(5438));const l=p(9419);const m=p(8990);const u=i(p(1542));const c=p(5476);const v=u.default["k8s/ci/workload.yaml"].content;const h=p(7147);function dockerLogin(e,a,p){return(0,m.logGroup)("Docker login",(()=>s(this,void 0,void 0,(function*(){try{yield(0,l.callAsync)(`echo "${p}" | base64 -d | docker login ${e} -u ${a} --password-stdin`,true);o.info("Successfully logged in")}catch(e){const a="Incorrect docker repo, username or password";if((e===null||e===void 0?void 0:e.message)&&(e===null||e===void 0?void 0:e.message).indexOf("username or password")>-1){o.info(a)}else{o.info("Something went wrong in docker login")}throw new Error(a)}}))))}a.dockerLogin=dockerLogin;function generateDockerPath(e,a,p){return`${e}/${a}/${p}`}a.generateDockerPath=generateDockerPath;function buildWorkload(e,a,p,t,r){if(!t||t.length===0)t="";if(!r||r.length===0)r=".";return o.group(`Build workload ${e}`,(()=>s(this,void 0,void 0,(function*(){o.info("Build docker image");yield(0,l.callAsync)(`docker buildx build --platform linux/amd64 `+`-t ${a}:latest `+`-t ${a}:gh-${n.context.sha} `+`${t} `+`${r}`,false,p);o.info("Push docker tag @latest");yield(0,l.callAsync)(`docker image push ${a}:latest`);o.info(`Push docker tag '@gh-${n.context.sha}'`);yield(0,l.callAsync)(`docker image push ${a}:gh-${n.context.sha}`)}))))}a.buildWorkload=buildWorkload;function runWorkload(e,a){return o.group(`Workload ${a.id} - ${e}`,(()=>s(this,void 0,void 0,(function*(){const p=`grpc://database-sample-grpc:2135 /root/database-sample --table-name slo-${a.id} ${a.args}`;const t=v.replace(/\$\{\{LANGUAGE_ID}}/g,a.id).replace(/\$\{\{COMMAND}}/g,e).replace(/\$\{\{DOCKER_IMAGE}}/g,a.dockerPath).replace("${{ARGS}}",p.split(" ").map((e=>`'${e}'`)).join("\n - "));o.debug(`Workload manifest: \n\n${t}`);const r=new Date;o.info(`Workload apply ${e} result:\n`+(yield(0,l.callKubernetesPathAsync)((e=>`${e} apply -f - <s(this,void 0,void 0,(function*(){const p=JSON.parse(yield(0,l.callKubernetesAsync)(`get job/${a.id}-wl-${e} -o=jsonpath={.status}`));o.debug("Workload status check: "+JSON.stringify(p));if(p.failed){const p=`Workload ${a.id} ${e} failed`;o.info(p);yield saveLogs(a.id,e);throw new Error(p)}return p.complete||p.succeeded}))))}finally{const p=new Date;yield saveLogs(a.id,e);return{startTime:r,endTime:p}}}))))}a.runWorkload=runWorkload;function saveLogs(e,a){return s(this,void 0,void 0,(function*(){let p=yield(0,l.callKubernetesAsync)(`logs job/${e}-wl-${a}`);try{let t="./logs";if(!h.existsSync(t)){yield h.promises.mkdir(t)}yield h.promises.writeFile(`${t}/${e}-${a}.log`,p)}catch(t){o.info(`error write file for ${e}-${a}: ${t.message}`);o.group(`Workload ${e} ${a} logs`,(()=>s(this,void 0,void 0,(function*(){o.info(p)}))))}}))}},7351:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const s=d(p(2037));const i=p(5278);function issueCommand(e,a,p){const t=new Command(e,a,p);process.stdout.write(t.toString()+s.EOL)}a.issueCommand=issueCommand;function issue(e,a=""){issueCommand(e,{},a)}a.issue=issue;const o="::";class Command{constructor(e,a,p){if(!e){e="missing.command"}this.command=e;this.properties=a;this.message=p}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let a=true;for(const p in this.properties){if(this.properties.hasOwnProperty(p)){const t=this.properties[p];if(t){if(a){a=false}else{e+=","}e+=`${p}=${escapeProperty(t)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return i.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const i=p(7351);const o=p(717);const n=p(5278);const l=d(p(2037));const m=d(p(1017));const u=p(8041);var c;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(c=a.ExitCode||(a.ExitCode={}));function exportVariable(e,a){const p=n.toCommandValue(a);process.env[e]=p;const t=process.env["GITHUB_ENV"]||"";if(t){return o.issueFileCommand("ENV",o.prepareKeyValueMessage(e,a))}i.issueCommand("set-env",{name:e},p)}a.exportVariable=exportVariable;function setSecret(e){i.issueCommand("add-mask",{},e)}a.setSecret=setSecret;function addPath(e){const a=process.env["GITHUB_PATH"]||"";if(a){o.issueFileCommand("PATH",e)}else{i.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${m.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(e,a){const p=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!p){throw new Error(`Input required and not supplied: ${e}`)}if(a&&a.trimWhitespace===false){return p}return p.trim()}a.getInput=getInput;function getMultilineInput(e,a){const p=getInput(e,a).split("\n").filter((e=>e!==""));if(a&&a.trimWhitespace===false){return p}return p.map((e=>e.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(e,a){const p=["true","True","TRUE"];const t=["false","False","FALSE"];const r=getInput(e,a);if(p.includes(r))return true;if(t.includes(r))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(e,a){const p=process.env["GITHUB_OUTPUT"]||"";if(p){return o.issueFileCommand("OUTPUT",o.prepareKeyValueMessage(e,a))}process.stdout.write(l.EOL);i.issueCommand("set-output",{name:e},n.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(e){i.issue("echo",e?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=c.Failure;error(e)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDebug=isDebug;function debug(e){i.issueCommand("debug",{},e)}a.debug=debug;function error(e,a={}){i.issueCommand("error",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.error=error;function warning(e,a={}){i.issueCommand("warning",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.warning=warning;function notice(e,a={}){i.issueCommand("notice",n.toCommandProperties(a),e instanceof Error?e.toString():e)}a.notice=notice;function info(e){process.stdout.write(e+l.EOL)}a.info=info;function startGroup(e){i.issue("group",e)}a.startGroup=startGroup;function endGroup(){i.issue("endgroup")}a.endGroup=endGroup;function group(e,a){return s(this,void 0,void 0,(function*(){startGroup(e);let p;try{p=yield a()}finally{endGroup()}return p}))}a.group=group;function saveState(e,a){const p=process.env["GITHUB_STATE"]||"";if(p){return o.issueFileCommand("STATE",o.prepareKeyValueMessage(e,a))}i.issueCommand("save-state",{name:e},n.toCommandValue(a))}a.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}a.getState=getState;function getIDToken(e){return s(this,void 0,void 0,(function*(){return yield u.OidcClient.getIDToken(e)}))}a.getIDToken=getIDToken;var v=p(1327);Object.defineProperty(a,"summary",{enumerable:true,get:function(){return v.summary}});var h=p(1327);Object.defineProperty(a,"markdownSummary",{enumerable:true,get:function(){return h.markdownSummary}});var g=p(2981);Object.defineProperty(a,"toPosixPath",{enumerable:true,get:function(){return g.toPosixPath}});Object.defineProperty(a,"toWin32Path",{enumerable:true,get:function(){return g.toWin32Path}});Object.defineProperty(a,"toPlatformPath",{enumerable:true,get:function(){return g.toPlatformPath}})},717:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.prepareKeyValueMessage=a.issueFileCommand=void 0;const s=d(p(7147));const i=d(p(2037));const o=p(5840);const n=p(5278);function issueFileCommand(e,a){const p=process.env[`GITHUB_${e}`];if(!p){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!s.existsSync(p)){throw new Error(`Missing file at path: ${p}`)}s.appendFileSync(p,`${n.toCommandValue(a)}${i.EOL}`,{encoding:"utf8"})}a.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,a){const p=`ghadelimiter_${o.v4()}`;const t=n.toCommandValue(a);if(e.includes(p)){throw new Error(`Unexpected input: name should not contain the delimiter "${p}"`)}if(t.includes(p)){throw new Error(`Unexpected input: value should not contain the delimiter "${p}"`)}return`${e}<<${p}${i.EOL}${t}${i.EOL}${p}`}a.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.OidcClient=void 0;const r=p(6255);const d=p(5526);const s=p(2186);class OidcClient{static createHttpClient(e=true,a=10){const p={allowRetries:e,maxRetries:a};return new r.HttpClient("actions/oidc-client",[new d.BearerCredentialHandler(OidcClient.getRequestToken())],p)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var a;return t(this,void 0,void 0,(function*(){const p=OidcClient.createHttpClient();const t=yield p.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const r=(a=t.result)===null||a===void 0?void 0:a.value;if(!r){throw new Error("Response json body do not have ID Token field")}return r}))}static getIDToken(e){return t(this,void 0,void 0,(function*(){try{let a=OidcClient.getIDTokenUrl();if(e){const p=encodeURIComponent(e);a=`${a}&audience=${p}`}s.debug(`ID token url is ${a}`);const p=yield OidcClient.getCall(a);s.setSecret(p);return p}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}a.OidcClient=OidcClient},2981:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.toPlatformPath=a.toWin32Path=a.toPosixPath=void 0;const s=d(p(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}a.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}a.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,s.sep)}a.toPlatformPath=toPlatformPath},1327:function(e,a,p){"use strict";var t=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.summary=a.markdownSummary=a.SUMMARY_DOCS_URL=a.SUMMARY_ENV_VAR=void 0;const r=p(2037);const d=p(7147);const{access:s,appendFile:i,writeFile:o}=d.promises;a.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";a.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return t(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[a.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${a.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield s(e,d.constants.R_OK|d.constants.W_OK)}catch(a){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,a,p={}){const t=Object.entries(p).map((([e,a])=>` ${e}="${a}"`)).join("");if(!a){return`<${e}${t}>`}return`<${e}${t}>${a}`}write(e){return t(this,void 0,void 0,(function*(){const a=!!(e===null||e===void 0?void 0:e.overwrite);const p=yield this.filePath();const t=a?o:i;yield t(p,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return t(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,a=false){this._buffer+=e;return a?this.addEOL():this}addEOL(){return this.addRaw(r.EOL)}addCodeBlock(e,a){const p=Object.assign({},a&&{lang:a});const t=this.wrap("pre",this.wrap("code",e),p);return this.addRaw(t).addEOL()}addList(e,a=false){const p=a?"ol":"ul";const t=e.map((e=>this.wrap("li",e))).join("");const r=this.wrap(p,t);return this.addRaw(r).addEOL()}addTable(e){const a=e.map((e=>{const a=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:a,data:p,colspan:t,rowspan:r}=e;const d=a?"th":"td";const s=Object.assign(Object.assign({},t&&{colspan:t}),r&&{rowspan:r});return this.wrap(d,p,s)})).join("");return this.wrap("tr",a)})).join("");const p=this.wrap("table",a);return this.addRaw(p).addEOL()}addDetails(e,a){const p=this.wrap("details",this.wrap("summary",e)+a);return this.addRaw(p).addEOL()}addImage(e,a,p){const{width:t,height:r}=p||{};const d=Object.assign(Object.assign({},t&&{width:t}),r&&{height:r});const s=this.wrap("img",null,Object.assign({src:e,alt:a},d));return this.addRaw(s).addEOL()}addHeading(e,a){const p=`h${a}`;const t=["h1","h2","h3","h4","h5","h6"].includes(p)?p:"h1";const r=this.wrap(t,e);return this.addRaw(r).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,a){const p=Object.assign({},a&&{cite:a});const t=this.wrap("blockquote",e,p);return this.addRaw(t).addEOL()}addLink(e,a){const p=this.wrap("a",e,{href:a});return this.addRaw(p).addEOL()}}const n=new Summary;a.markdownSummary=n;a.summary=n},5278:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.toCommandProperties=a.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}a.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}a.toCommandProperties=toCommandProperties},4087:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.Context=void 0;const t=p(7147);const r=p(2037);class Context{constructor(){var e,a,p;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(t.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(t.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${r.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(a=process.env.GITHUB_SERVER_URL)!==null&&a!==void 0?a:`https://github.com`;this.graphqlUrl=(p=process.env.GITHUB_GRAPHQL_URL)!==null&&p!==void 0?p:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,a]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:a}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}a.Context=Context},5438:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokit=a.context=void 0;const s=d(p(4087));const i=p(3030);a.context=new s.Context;function getOctokit(e,a,...p){const t=i.GitHub.plugin(...p);return new t(i.getOctokitOptions(e,a))}a.getOctokit=getOctokit},7914:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getApiBaseUrl=a.getProxyAgent=a.getAuthString=void 0;const s=d(p(6255));function getAuthString(e,a){if(!e&&!a.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&a.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof a.auth==="string"?a.auth:`token ${e}`}a.getAuthString=getAuthString;function getProxyAgent(e){const a=new s.HttpClient;return a.getAgent(e)}a.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}a.getApiBaseUrl=getApiBaseUrl},3030:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};Object.defineProperty(a,"__esModule",{value:true});a.getOctokitOptions=a.GitHub=a.defaults=a.context=void 0;const s=d(p(4087));const i=d(p(7914));const o=p(6762);const n=p(3044);const l=p(4193);a.context=new s.Context;const m=i.getApiBaseUrl();a.defaults={baseUrl:m,request:{agent:i.getProxyAgent(m)}};a.GitHub=o.Octokit.plugin(n.restEndpointMethods,l.paginateRest).defaults(a.defaults);function getOctokitOptions(e,a){const p=Object.assign({},a||{});const t=i.getAuthString(e,p);if(t){p.auth=t}return p}a.getOctokitOptions=getOctokitOptions},5526:function(e,a){"use strict";var p=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.PersonalAccessTokenCredentialHandler=a.BearerCredentialHandler=a.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,a){this.username=e;this.password=a}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return p(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}a.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,a,p){"use strict";var t=this&&this.__createBinding||(Object.create?function(e,a,p,t){if(t===undefined)t=p;Object.defineProperty(e,t,{enumerable:true,get:function(){return a[p]}})}:function(e,a,p,t){if(t===undefined)t=p;e[t]=a[p]});var r=this&&this.__setModuleDefault||(Object.create?function(e,a){Object.defineProperty(e,"default",{enumerable:true,value:a})}:function(e,a){e["default"]=a});var d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var p in e)if(p!=="default"&&Object.hasOwnProperty.call(e,p))t(a,e,p);r(a,e);return a};var s=this&&this.__awaiter||function(e,a,p,t){function adopt(e){return e instanceof p?e:new p((function(a){a(e)}))}return new(p||(p=Promise))((function(p,r){function fulfilled(e){try{step(t.next(e))}catch(e){r(e)}}function rejected(e){try{step(t["throw"](e))}catch(e){r(e)}}function step(e){e.done?p(e.value):adopt(e.value).then(fulfilled,rejected)}step((t=t.apply(e,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.HttpClient=a.isHttps=a.HttpClientResponse=a.HttpClientError=a.getProxyUrl=a.MediaTypes=a.Headers=a.HttpCodes=void 0;const i=d(p(3685));const o=d(p(5687));const n=d(p(9835));const l=d(p(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=a.HttpCodes||(a.HttpCodes={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u=a.Headers||(a.Headers={}));var c;(function(e){e["ApplicationJson"]="application/json"})(c=a.MediaTypes||(a.MediaTypes={}));function getProxyUrl(e){const a=n.getProxyUrl(new URL(e));return a?a.href:""}a.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const h=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const g=["OPTIONS","GET","DELETE","HEAD"];const w=10;const _=5;class HttpClientError extends Error{constructor(e,a){super(e);this.name="HttpClientError";this.statusCode=a;Object.setPrototypeOf(this,HttpClientError.prototype)}}a.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return s(this,void 0,void 0,(function*(){return new Promise((e=>s(this,void 0,void 0,(function*(){let a=Buffer.alloc(0);this.message.on("data",(e=>{a=Buffer.concat([a,e])}));this.message.on("end",(()=>{e(a.toString())}))}))))}))}}a.HttpClientResponse=HttpClientResponse;function isHttps(e){const a=new URL(e);return a.protocol==="https:"}a.isHttps=isHttps;class HttpClient{constructor(e,a,p){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=a||[];this.requestOptions=p;if(p){if(p.ignoreSslError!=null){this._ignoreSslError=p.ignoreSslError}this._socketTimeout=p.socketTimeout;if(p.allowRedirects!=null){this._allowRedirects=p.allowRedirects}if(p.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=p.allowRedirectDowngrade}if(p.maxRedirects!=null){this._maxRedirects=Math.max(p.maxRedirects,0)}if(p.keepAlive!=null){this._keepAlive=p.keepAlive}if(p.allowRetries!=null){this._allowRetries=p.allowRetries}if(p.maxRetries!=null){this._maxRetries=p.maxRetries}}}options(e,a){return s(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,a||{})}))}get(e,a){return s(this,void 0,void 0,(function*(){return this.request("GET",e,null,a||{})}))}del(e,a){return s(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,a||{})}))}post(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("POST",e,a,p||{})}))}patch(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PATCH",e,a,p||{})}))}put(e,a,p){return s(this,void 0,void 0,(function*(){return this.request("PUT",e,a,p||{})}))}head(e,a){return s(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,a||{})}))}sendStream(e,a,p,t){return s(this,void 0,void 0,(function*(){return this.request(e,a,p,t)}))}getJson(e,a={}){return s(this,void 0,void 0,(function*(){a[u.Accept]=this._getExistingOrDefaultHeader(a,u.Accept,c.ApplicationJson);const p=yield this.get(e,a);return this._processResponse(p,this.requestOptions)}))}postJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const r=yield this.post(e,t,p);return this._processResponse(r,this.requestOptions)}))}putJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const r=yield this.put(e,t,p);return this._processResponse(r,this.requestOptions)}))}patchJson(e,a,p={}){return s(this,void 0,void 0,(function*(){const t=JSON.stringify(a,null,2);p[u.Accept]=this._getExistingOrDefaultHeader(p,u.Accept,c.ApplicationJson);p[u.ContentType]=this._getExistingOrDefaultHeader(p,u.ContentType,c.ApplicationJson);const r=yield this.patch(e,t,p);return this._processResponse(r,this.requestOptions)}))}request(e,a,p,t){return s(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const r=new URL(a);let d=this._prepareRequest(e,r,t);const s=this._allowRetries&&g.includes(e)?this._maxRetries+1:1;let i=0;let o;do{o=yield this.requestRaw(d,p);if(o&&o.message&&o.message.statusCode===m.Unauthorized){let e;for(const a of this.handlers){if(a.canHandleAuthentication(o)){e=a;break}}if(e){return e.handleAuthentication(this,d,p)}else{return o}}let a=this._maxRedirects;while(o.message.statusCode&&v.includes(o.message.statusCode)&&this._allowRedirects&&a>0){const s=o.message.headers["location"];if(!s){break}const i=new URL(s);if(r.protocol==="https:"&&r.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield o.readBody();if(i.hostname!==r.hostname){for(const e in t){if(e.toLowerCase()==="authorization"){delete t[e]}}}d=this._prepareRequest(e,i,t);o=yield this.requestRaw(d,p);a--}if(!o.message.statusCode||!h.includes(o.message.statusCode)){return o}i+=1;if(i{function callbackForResult(e,a){if(e){t(e)}else if(!a){t(new Error("Unknown error"))}else{p(a)}}this.requestRawWithCallback(e,a,callbackForResult)}))}))}requestRawWithCallback(e,a,p){if(typeof a==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(a,"utf8")}let t=false;function handleResult(e,a){if(!t){t=true;p(e,a)}}const r=e.httpModule.request(e.options,(e=>{const a=new HttpClientResponse(e);handleResult(undefined,a)}));let d;r.on("socket",(e=>{d=e}));r.setTimeout(this._socketTimeout||3*6e4,(()=>{if(d){d.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));r.on("error",(function(e){handleResult(e)}));if(a&&typeof a==="string"){r.write(a,"utf8")}if(a&&typeof a!=="string"){a.on("close",(function(){r.end()}));a.pipe(r)}else{r.end()}}getAgent(e){const a=new URL(e);return this._getAgent(a)}_prepareRequest(e,a,p){const t={};t.parsedUrl=a;const r=t.parsedUrl.protocol==="https:";t.httpModule=r?o:i;const d=r?443:80;t.options={};t.options.host=t.parsedUrl.hostname;t.options.port=t.parsedUrl.port?parseInt(t.parsedUrl.port):d;t.options.path=(t.parsedUrl.pathname||"")+(t.parsedUrl.search||"");t.options.method=e;t.options.headers=this._mergeHeaders(p);if(this.userAgent!=null){t.options.headers["user-agent"]=this.userAgent}t.options.agent=this._getAgent(t.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(t.options)}}return t}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,a,p){let t;if(this.requestOptions&&this.requestOptions.headers){t=lowercaseKeys(this.requestOptions.headers)[a]}return e[a]||t||p}_getAgent(e){let a;const p=n.getProxyUrl(e);const t=p&&p.hostname;if(this._keepAlive&&t){a=this._proxyAgent}if(this._keepAlive&&!t){a=this._agent}if(a){return a}const r=e.protocol==="https:";let d=100;if(this.requestOptions){d=this.requestOptions.maxSockets||i.globalAgent.maxSockets}if(p&&p.hostname){const e={maxSockets:d,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(p.username||p.password)&&{proxyAuth:`${p.username}:${p.password}`}),{host:p.hostname,port:p.port})};let t;const s=p.protocol==="https:";if(r){t=s?l.httpsOverHttps:l.httpsOverHttp}else{t=s?l.httpOverHttps:l.httpOverHttp}a=t(e);this._proxyAgent=a}if(this._keepAlive&&!a){const e={keepAlive:this._keepAlive,maxSockets:d};a=r?new o.Agent(e):new i.Agent(e);this._agent=a}if(!a){a=r?o.globalAgent:i.globalAgent}if(r&&this._ignoreSslError){a.options=Object.assign(a.options||{},{rejectUnauthorized:false})}return a}_performExponentialBackoff(e){return s(this,void 0,void 0,(function*(){e=Math.min(w,e);const a=_*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),a)))}))}_processResponse(e,a){return s(this,void 0,void 0,(function*(){return new Promise(((p,t)=>s(this,void 0,void 0,(function*(){const r=e.message.statusCode||0;const d={statusCode:r,result:null,headers:{}};if(r===m.NotFound){p(d)}function dateTimeDeserializer(e,a){if(typeof a==="string"){const e=new Date(a);if(!isNaN(e.valueOf())){return e}}return a}let s;let i;try{i=yield e.readBody();if(i&&i.length>0){if(a&&a.deserializeDates){s=JSON.parse(i,dateTimeDeserializer)}else{s=JSON.parse(i)}d.result=s}d.headers=e.message.headers}catch(e){}if(r>299){let e;if(s&&s.message){e=s.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${r})`}const a=new HttpClientError(e,r);a.result=d.result;t(a)}else{p(d)}}))))}))}}a.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((a,p)=>(a[p.toLowerCase()]=e[p],a)),{})},9835:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a.checkBypass=a.getProxyUrl=void 0;function getProxyUrl(e){const a=e.protocol==="https:";if(checkBypass(e)){return undefined}const p=(()=>{if(a){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(p){return new URL(p)}else{return undefined}}a.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const a=e.hostname;if(isLoopbackAddress(a)){return true}const p=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!p){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}const r=[e.hostname.toUpperCase()];if(typeof t==="number"){r.push(`${r[0]}:${t}`)}for(const e of p.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||r.some((a=>a===e||a.endsWith(`.${e}`)||e.startsWith(".")&&a.endsWith(`${e}`)))){return true}}return false}a.checkBypass=checkBypass;function isLoopbackAddress(e){const a=e.toLowerCase();return a==="localhost"||a.startsWith("127.")||a.startsWith("[::1]")||a.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p=/^v1\./;const t=/^ghs_/;const r=/^ghu_/;async function auth(e){const a=e.split(/\./).length===3;const d=p.test(e)||t.test(e);const s=r.test(e);const i=a?"app":d?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,a,p,t){const r=a.endpoint.merge(p,t);r.headers.authorization=withAuthorizationPrefix(e);return a(r)}const d=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};a.createTokenAuth=d},6762:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(5030);var r=p(3682);var d=p(6234);var s=p(8467);var i=p(334);function _objectWithoutPropertiesLoose(e,a){if(e==null)return{};var p={};var t=Object.keys(e);var r,d;for(d=0;d=0)continue;p[r]=e[r]}return p}function _objectWithoutProperties(e,a){if(e==null)return{};var p=_objectWithoutPropertiesLoose(e,a);var t,r;if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);for(r=0;r=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;p[t]=e[t]}}return p}const o="3.6.0";const n=["authStrategy"];class Octokit{constructor(e={}){const a=new r.Collection;const p={baseUrl:d.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:a.bind(null,"request")}),mediaType:{previews:[],format:""}};p.headers["user-agent"]=[e.userAgent,`octokit-core.js/${o} ${t.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){p.baseUrl=e.baseUrl}if(e.previews){p.mediaType.previews=e.previews}if(e.timeZone){p.headers["time-zone"]=e.timeZone}this.request=d.request.defaults(p);this.graphql=s.withCustomRequest(this.request).defaults(p);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=a;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const p=i.createTokenAuth(e.auth);a.wrap("request",p.hook);this.auth=p}}else{const{authStrategy:p}=e,t=_objectWithoutProperties(e,n);const r=p(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:t},e.auth));a.wrap("request",r.hook);this.auth=r}const l=this.constructor;l.plugins.forEach((a=>{Object.assign(this,a(this,e))}))}static defaults(e){const a=class extends(this){constructor(...a){const p=a[0]||{};if(typeof e==="function"){super(e(p));return}super(Object.assign({},e,p,p.userAgent&&e.userAgent?{userAgent:`${p.userAgent} ${e.userAgent}`}:null))}};return a}static plugin(...e){var a;const p=this.plugins;const t=(a=class extends(this){},a.plugins=p.concat(e.filter((e=>!p.includes(e)))),a);return t}}Octokit.VERSION=o;Octokit.plugins=[];a.Octokit=Octokit},9440:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(3287);var r=p(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((a,p)=>{a[p.toLowerCase()]=e[p];return a}),{})}function mergeDeep(e,a){const p=Object.assign({},e);Object.keys(a).forEach((r=>{if(t.isPlainObject(a[r])){if(!(r in e))Object.assign(p,{[r]:a[r]});else p[r]=mergeDeep(e[r],a[r])}else{Object.assign(p,{[r]:a[r]})}}));return p}function removeUndefinedProperties(e){for(const a in e){if(e[a]===undefined){delete e[a]}}return e}function merge(e,a,p){if(typeof a==="string"){let[e,t]=a.split(" ");p=Object.assign(t?{method:e,url:t}:{url:e},p)}else{p=Object.assign({},a)}p.headers=lowercaseKeys(p.headers);removeUndefinedProperties(p);removeUndefinedProperties(p.headers);const t=mergeDeep(e||{},p);if(e&&e.mediaType.previews.length){t.mediaType.previews=e.mediaType.previews.filter((e=>!t.mediaType.previews.includes(e))).concat(t.mediaType.previews)}t.mediaType.previews=t.mediaType.previews.map((e=>e.replace(/-preview/,"")));return t}function addQueryParameters(e,a){const p=/\?/.test(e)?"&":"?";const t=Object.keys(a);if(t.length===0){return e}return e+p+t.map((e=>{if(e==="q"){return"q="+a.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(a[e])}`})).join("&")}const d=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const a=e.match(d);if(!a){return[]}return a.map(removeNonChars).reduce(((e,a)=>e.concat(a)),[])}function omit(e,a){return Object.keys(e).filter((e=>!a.includes(e))).reduce(((a,p)=>{a[p]=e[p];return a}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,a,p){a=e==="+"||e==="#"?encodeReserved(a):encodeUnreserved(a);if(p){return encodeUnreserved(p)+"="+a}else{return a}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,a,p,t){var r=e[p],d=[];if(isDefined(r)&&r!==""){if(typeof r==="string"||typeof r==="number"||typeof r==="boolean"){r=r.toString();if(t&&t!=="*"){r=r.substring(0,parseInt(t,10))}d.push(encodeValue(a,r,isKeyOperator(a)?p:""))}else{if(t==="*"){if(Array.isArray(r)){r.filter(isDefined).forEach((function(e){d.push(encodeValue(a,e,isKeyOperator(a)?p:""))}))}else{Object.keys(r).forEach((function(e){if(isDefined(r[e])){d.push(encodeValue(a,r[e],e))}}))}}else{const e=[];if(Array.isArray(r)){r.filter(isDefined).forEach((function(p){e.push(encodeValue(a,p))}))}else{Object.keys(r).forEach((function(p){if(isDefined(r[p])){e.push(encodeUnreserved(p));e.push(encodeValue(a,r[p].toString()))}}))}if(isKeyOperator(a)){d.push(encodeUnreserved(p)+"="+e.join(","))}else if(e.length!==0){d.push(e.join(","))}}}}else{if(a===";"){if(isDefined(r)){d.push(encodeUnreserved(p))}}else if(r===""&&(a==="&"||a==="?")){d.push(encodeUnreserved(p)+"=")}else if(r===""){d.push("")}}return d}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,a){var p=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,t,r){if(t){let e="";const r=[];if(p.indexOf(t.charAt(0))!==-1){e=t.charAt(0);t=t.substr(1)}t.split(/,/g).forEach((function(p){var t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(p);r.push(getValues(a,e,t[1],t[2]||t[3]))}));if(e&&e!=="+"){var d=",";if(e==="?"){d="&"}else if(e!=="#"){d=e}return(r.length!==0?e:"")+r.join(d)}else{return r.join(",")}}else{return encodeReserved(r)}}))}function parse(e){let a=e.method.toUpperCase();let p=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let t=Object.assign({},e.headers);let r;let d=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const s=extractUrlVariableNames(p);p=parseUrl(p).expand(d);if(!/^http/.test(p)){p=e.baseUrl+p}const i=Object.keys(e).filter((e=>s.includes(e))).concat("baseUrl");const o=omit(d,i);const n=/application\/octet-stream/i.test(t.accept);if(!n){if(e.mediaType.format){t.accept=t.accept.split(/,/).map((a=>a.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const a=t.accept.match(/[\w-]+(?=-preview)/g)||[];t.accept=a.concat(e.mediaType.previews).map((a=>{const p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${a}-preview${p}`})).join(",")}}if(["GET","HEAD"].includes(a)){p=addQueryParameters(p,o)}else{if("data"in o){r=o.data}else{if(Object.keys(o).length){r=o}else{t["content-length"]=0}}}if(!t["content-type"]&&typeof r!=="undefined"){t["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(a)&&typeof r==="undefined"){r=""}return Object.assign({method:a,url:p,headers:t},typeof r!=="undefined"?{body:r}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,a,p){return parse(merge(e,a,p))}function withDefaults(e,a){const p=merge(e,a);const t=endpointWithDefaults.bind(null,p);return Object.assign(t,{DEFAULTS:p,defaults:withDefaults.bind(null,p),merge:merge.bind(null,p),parse:parse})}const s="6.0.12";const i=`octokit-endpoint.js/${s} ${r.getUserAgent()}`;const o={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":i},mediaType:{format:"",previews:[]}};const n=withDefaults(null,o);a.endpoint=n},8467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});var t=p(6234);var r=p(5030);const d="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,a,p){super(_buildMessageForResponseErrors(p));this.request=e;this.headers=a;this.response=p;this.name="GraphqlResponseError";this.errors=p.errors;this.data=p.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const s=["method","baseUrl","url","headers","request","query","mediaType"];const i=["query","method","url"];const o=/\/api\/v3\/?$/;function graphql(e,a,p){if(p){if(typeof a==="string"&&"query"in p){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in p){if(!i.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const t=typeof a==="string"?Object.assign({query:a},p):a;const r=Object.keys(t).reduce(((e,a)=>{if(s.includes(a)){e[a]=t[a];return e}if(!e.variables){e.variables={}}e.variables[a]=t[a];return e}),{});const d=t.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(o.test(d)){r.url=d.replace(o,"/api/graphql")}return e(r).then((e=>{if(e.data.errors){const a={};for(const p of Object.keys(e.headers)){a[p]=e.headers[p]}throw new GraphqlResponseError(r,a,e.data)}return e.data.data}))}function withDefaults(e,a){const p=e.defaults(a);const newApi=(e,a)=>graphql(p,e,a);return Object.assign(newApi,{defaults:withDefaults.bind(null,p),endpoint:t.request.endpoint})}const n=withDefaults(t.request,{headers:{"user-agent":`octokit-graphql.js/${d} ${r.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}a.GraphqlResponseError=GraphqlResponseError;a.graphql=n;a.withCustomRequest=withCustomRequest},4193:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});const p="2.21.3";function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a({async next(){if(!i)return{done:true};try{const e=await r({method:d,url:i,headers:s});const a=normalizePaginatedListResponse(e);i=((a.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:a}}catch(e){if(e.status!==409)throw e;i="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,a,p,t){if(typeof p==="function"){t=p;p=undefined}return gather(e,[],iterator(e,a,p)[Symbol.asyncIterator](),t)}function gather(e,a,p,t){return p.next().then((r=>{if(r.done){return a}let d=false;function done(){d=true}a=a.concat(t?t(r.value,done):r.value.data);if(d){return a}return gather(e,a,p,t)}))}const t=Object.assign(paginate,{iterator:iterator});const r=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return r.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=p;a.composePaginateRest=t;a.isPaginatingEndpoint=isPaginatingEndpoint;a.paginateRest=paginateRest;a.paginatingEndpoints=r},3044:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function ownKeys(e,a){var p=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);if(a){t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))}p.push.apply(p,t)}return p}function _objectSpread2(e){for(var a=1;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(8932);var r=_interopDefault(p(1223));const d=r((e=>console.warn(e)));const s=r((e=>console.warn(e)));class RequestError extends Error{constructor(e,a,p){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=a;let r;if("headers"in p&&typeof p.headers!=="undefined"){r=p.headers}if("response"in p){this.response=p.response;r=p.response.headers}const i=Object.assign({},p.request);if(p.request.headers.authorization){i.headers=Object.assign({},p.request.headers,{authorization:p.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){d(new t.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return a}});Object.defineProperty(this,"headers",{get(){s(new t.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return r||{}}})}}a.RequestError=RequestError},6234:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=p(9440);var r=p(5030);var d=p(3287);var s=_interopDefault(p(467));var i=p(537);const o="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const a=e.request&&e.request.log?e.request.log:console;if(d.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let p={};let t;let r;const o=e.request&&e.request.fetch||s;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async d=>{r=d.url;t=d.status;for(const e of d.headers){p[e[0]]=e[1]}if("deprecation"in p){const t=p.link&&p.link.match(/<([^>]+)>; rel="deprecation"/);const r=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${p.sunset}${r?`. See ${r}`:""}`)}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new i.RequestError(d.statusText,t,{response:{url:r,status:t,headers:p,data:undefined},request:e})}if(t===304){throw new i.RequestError("Not modified",t,{response:{url:r,status:t,headers:p,data:await getResponseData(d)},request:e})}if(t>=400){const a=await getResponseData(d);const s=new i.RequestError(toErrorMessage(a),t,{response:{url:r,status:t,headers:p,data:a},request:e});throw s}return getResponseData(d)})).then((e=>({status:t,url:r,headers:p,data:e}))).catch((a=>{if(a instanceof i.RequestError)throw a;throw new i.RequestError(a.message,500,{request:e})}))}async function getResponseData(e){const a=e.headers.get("content-type");if(/application\/json/.test(a)){return e.json()}if(!a||/^text\/|charset=utf-8$/.test(a)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,a){const p=e.defaults(a);const newApi=function(e,a){const t=p.merge(e,a);if(!t.request||!t.request.hook){return fetchWrapper(p.parse(t))}const request=(e,a)=>fetchWrapper(p.parse(p.merge(e,a)));Object.assign(request,{endpoint:p,defaults:withDefaults.bind(null,p)});return t.request.hook(request,t)};return Object.assign(newApi,{endpoint:p,defaults:withDefaults.bind(null,p)})}const n=withDefaults(t.endpoint,{headers:{"user-agent":`octokit-request.js/${o} ${r.getUserAgent()}`}});a.request=n},3682:(e,a,p)=>{var t=p(4670);var r=p(5549);var d=p(6819);var s=Function.bind;var i=s.bind(s);function bindApi(e,a,p){var t=i(d,null).apply(null,p?[a,p]:[a]);e.api={remove:t};e.remove=t;["before","error","after","wrap"].forEach((function(t){var d=p?[a,t,p]:[a,t];e[t]=e.api[t]=i(r,null).apply(null,d)}))}function HookSingular(){var e="h";var a={registry:{}};var p=t.bind(null,a,e);bindApi(p,a,e);return p}function HookCollection(){var e={registry:{}};var a=t.bind(null,e);bindApi(a,e);return a}var o=false;function Hook(){if(!o){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');o=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,a,p,t){var r=t;if(!e.registry[p]){e.registry[p]=[]}if(a==="before"){t=function(e,a){return Promise.resolve().then(r.bind(null,a)).then(e.bind(null,a))}}if(a==="after"){t=function(e,a){var p;return Promise.resolve().then(e.bind(null,a)).then((function(e){p=e;return r(p,a)})).then((function(){return p}))}}if(a==="error"){t=function(e,a){return Promise.resolve().then(e.bind(null,a)).catch((function(e){return r(e,a)}))}}e.registry[p].push({hook:t,orig:r})}},4670:e=>{e.exports=register;function register(e,a,p,t){if(typeof p!=="function"){throw new Error("method for before hook must be a function")}if(!t){t={}}if(Array.isArray(a)){return a.reverse().reduce((function(a,p){return register.bind(null,e,p,a,t)}),p)()}return Promise.resolve().then((function(){if(!e.registry[a]){return p(t)}return e.registry[a].reduce((function(e,a){return a.hook.bind(null,e,t)}),p)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,a,p){if(!e.registry[a]){return}var t=e.registry[a].map((function(e){return e.orig})).indexOf(p);if(t===-1){return}e.registry[a].splice(t,1)}},8932:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}a.Deprecation=Deprecation},3287:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true}); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var d=_interopDefault(p(3685));var r=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const d=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},d=p.size;let r=d===undefined?0:d;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=r;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let d=0;let r=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){r=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){r=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(r||a===null){return}if(e.size&&d+a.length>e.size){r=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}d+=a.length;p.push(a)}));a.on("end",(function(){if(r){return}clearTimeout(i);try{t(Buffer.concat(p,d))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let d,r;if(p){d=/charset=([^;]*)/i.exec(p)}r=e.slice(0,1024).toString();if(!d&&r){d=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const d=getHeaders(a,p);const r=d.length;if(t>=r){return{value:undefined,done:true}}this[_].index=t+1;return{value:d[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=d.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=r.URL||s.URL;const O=r.parse;const D=r.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let d=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,d,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const r=new Headers(a.headers||e.headers||{});if(d!=null&&!r.has("Content-Type")){const e=extractContentType(d);if(e){r.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:r,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let d=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){d="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){d=String(a)}}if(d){p.set("Content-Length",d)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let r=e.agent;if(typeof r==="function"){r=r(a)}if(!p.has("Connection")&&!r){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:r})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=r.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,r){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:d).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");r(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){r(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){r(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let d=null;try{d=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){r(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":r(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(d!==null){try{a.set("Location",d)}catch(e){r(e)}}break;case"follow":if(d===null){break}if(s.counter>=s.follow){r(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,d)||!G(s.url,d)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){r(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(d,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const d={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,d);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,d);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,d);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,d);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,d);p(u);return}u=new Response(t,d);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var d=p(2020);var r={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=d.length-1;while(a<=p){var t=Math.floor((a+p)/2);var r=d[t];if(r[0][0]<=e&&r[0][1]>=e){return r}else if(r[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var d="";var s=countSymbols(e);for(var i=0;i253||i.length===0){r.error=true}for(var o=0;o63||s.length===0){r.error=true;break}}}if(r.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,r.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=r},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var d=p(4404);var r=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=r.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||r.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,d){var r=toOptions(p,t,d);for(var s=0,i=a.requests.length;s=this.maxSockets){d.requests.push(r);return}d.createSocket(r,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){d.emit("free",a,r)}function onCloseOrRemove(e){d.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var d=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){d.localAddress=e.localAddress}if(d.proxyAuth){d.headers=d.headers||{};d.headers["Proxy-Authorization"]="Basic "+new Buffer(d.proxyAuth).toString("base64")}l("making CONNECT request");var r=p.request(d);r.useChunkedEncodingByDefault=false;r.once("response",onResponse);r.once("upgrade",onUpgrade);r.once("connect",onConnect);r.once("error",onError);r.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(d,s,i){r.removeAllListeners();s.removeAllListeners();if(d.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",d.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+d.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){r.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var d=new Error("tunneling socket could not be established, "+"cause="+a.message);d.code="ECONNRESET";e.request.emit("error",d);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var r=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:r?r.replace(/:.*$/,""):e.host});var i=d.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var d=_interopRequireDefault(p(6409));var r=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var d=md5;a["default"]=d},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var d=parse;a["default"]=d},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=new Uint8Array(256);let r=d.length;function rng(){if(r>d.length-16){t.default.randomFillSync(d);r=0}return d.slice(r,r+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var d=sha1;a["default"]=d},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=[];for(let e=0;e<256;++e){d.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(d[e[a+0]]+d[e[a+1]]+d[e[a+2]]+d[e[a+3]]+"-"+d[e[a+4]]+d[e[a+5]]+"-"+d[e[a+6]]+d[e[a+7]]+"-"+d[e[a+8]]+d[e[a+9]]+"-"+d[e[a+10]]+d[e[a+11]]+d[e[a+12]]+d[e[a+13]]+d[e[a+14]]+d[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var r=stringify;a["default"]=r},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let r;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||r;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=r=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,d.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v3",48,d.default);var s=r;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var d=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var d=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const r=e.random||(e.rng||t.default)();r[6]=r[6]&15|64;r[8]=r[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=r[e]}return a}return(0,d.default)(r)}var r=v4;a["default"]=r},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var d=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=(0,t.default)("v5",80,d.default);var s=r;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var d=validate;a["default"]=d},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var d=version;a["default"]=d},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%d;if(!a.unsigned&&i>=r){return i-d}else if(a.unsigned){if(i<0){i+=d}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(d))}else if(56320<=d&&d<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=d&1023;const r=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+r));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let d=null;if(p!==undefined){d=t.basicURLParse(p);if(d==="failure"){throw new TypeError("Invalid base URL")}}const r=t.basicURLParse(a,{baseURL:d});if(r==="failure"){throw new TypeError("Invalid URL")}this._url=r}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const d=p(3185);const r=p(7537);const s=d.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const d=p(4256);const r={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return r[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return r[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let d=0;for(const e of p){t+=e*Math.pow(256,3-d);++d}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let d=null;let r=0;e=t.ucs2.decode(e);if(e[r]===58){if(e[r+1]!==58){return s}r+=2;++p;d=p}while(r6){return s}let t=0;while(e[r]!==undefined){let d=null;if(t>0){if(e[r]===46&&t<4){++r}else{return s}}if(!isASCIIDigit(e[r])){return s}while(isASCIIDigit(e[r])){const a=parseInt(at(e,r));if(d===null){d=a}else if(d===0){return s}else{d=d*10+a}if(d>255){return s}++r}a[p]=a[p]*256+d;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[r]===58){++r;if(e[r]===undefined){return s}}else if(e[r]!==undefined){return s}a[p]=t;++p}if(d!==null){let e=p-d;p=7;while(p!==0&&e>0){const t=a[d+e-1];a[d+e-1]=a[p];a[p]=t;--p;--e}}else if(d===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let d=false;for(let p=0;p<=7;++p){if(d&&e[p]===0){continue}else if(d){d=false}if(t===p){const e=p===0?"::":":";a+=e;d=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=d.toASCII(p,false,d.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const r=parseIPv4(t);if(typeof r==="number"||r===s){return r}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=d}t=null;d=0}else{if(t===null){t=r}++d}}if(d>p){a=t;p=d}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,d,r){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=r;this.url=d;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=r||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Database\\nmetadata:\\n name: database-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 6\\n resources:\\n containerResources:\\n limits:\\n cpu: 1\\n storageUnits:\\n - count: 1\\n unitKind: ssd\\n storageClusterRef:\\n name: storage-sample\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\nkind: Storage\\nmetadata:\\n name: storage-sample\\nspec:\\n monitoring:\\n enabled: true\\n interval: 3s\\n additionalLabels:\\n ydb-cluster: slo-storage\\n ydb-cluster-monitor: slo-storage\\n affinity:\\n podAntiAffinity:\\n requiredDuringSchedulingIgnoredDuringExecution:\\n - labelSelector:\\n matchExpressions:\\n - key: ydb-cluster\\n operator: In\\n values:\\n - slo-storage\\n topologyKey: \'kubernetes.io/hostname\'\\n dataStore:\\n - volumeMode: Block\\n storageClassName: yc-network-ssd-nonreplicated\\n accessModes:\\n - ReadWriteOnce\\n resources:\\n requests:\\n storage: 93Gi\\n image:\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\n nodes: 9\\n erasure: mirror-3-dc\\n configuration: |-\\n static_erasure: mirror-3-dc\\n host_configs:\\n - drive:\\n - path: /dev/kikimr_ssd_00\\n type: SSD\\n host_config_id: 1\\n grpc_config:\\n port: 2135\\n domains_config:\\n domain:\\n - name: root\\n storage_pool_types:\\n - kind: ssd\\n pool_config:\\n box_id: 1\\n erasure_species: mirror-3-dc\\n kind: ssd\\n pdisk_filter:\\n - property:\\n - type: SSD\\n vdisk_kind: Default\\n state_storage:\\n - ring:\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\n nto_select: 5\\n ssid: 1\\n actor_system_config:\\n batch_executor: 2\\n io_executor: 3\\n executor:\\n - name: System\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: User\\n spin_threshold: 0\\n threads: 3\\n type: BASIC\\n - name: Batch\\n spin_threshold: 0\\n threads: 2\\n type: BASIC\\n - name: IO\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: IO\\n - name: IC\\n spin_threshold: 10\\n threads: 1\\n time_per_mailbox_micro_secs: 100\\n type: BASIC\\n scheduler:\\n progress_threshold: 10000\\n resolution: 256\\n spin_threshold: 0\\n service_executor:\\n - executor_id: 4\\n service_name: Interconnect\\n blob_storage_config:\\n service_set:\\n availability_domains: 1\\n groups:\\n - erasure_species: mirror-3-dc\\n group_id: 0\\n group_generation: 1\\n rings:\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 1\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 2\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 3\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 4\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 5\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 6\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - fail_domains:\\n - vdisk_locations:\\n - node_id: 7\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 8\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n - vdisk_locations:\\n - node_id: 9\\n pdisk_category: SSD\\n path: /dev/kikimr_ssd_00\\n channel_profile_config:\\n profile:\\n - channel:\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n - erasure_species: mirror-3-dc\\n pdisk_category: 1\\n storage_pool_kind: ssd\\n profile_id: 0\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\nspec:\\n ttlSecondsAfterFinished: 120\\n backoffLimit: 0\\n template:\\n metadata:\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n spec:\\n containers:\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\n image: ${{DOCKER_IMAGE}}:latest\\n args:\\n - \'${{COMMAND}}\'\\n - ${{ARGS}}\\n restartPolicy: Never\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var a,p;if(isObject(e)===false)return false;a=e.constructor;if(a===undefined)return true;p=a.prototype;if(isObject(p)===false)return false;if(p.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},467:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var t=_interopDefault(p(2781));var r=_interopDefault(p(3685));var d=_interopDefault(p(7310));var s=_interopDefault(p(8665));var i=_interopDefault(p(5687));var o=_interopDefault(p(9796));const n=t.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const a=arguments[1];const p=[];let t=0;if(e){const a=e;const r=Number(a.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},r=p.size;let d=r===undefined?0:r;var s=p.timeout;let i=s===undefined?0:s;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof t);else{e=Buffer.from(String(e))}this[c]={body:e,disturbed:false,error:null};this.size=d;this.timeout=i;if(e instanceof t){e.on("error",(function(e){const p=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${e.message}`,"system",e);a[c].error=p}))}}Body.prototype={get body(){return this[c].body},get bodyUsed(){return this[c].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:a})}))},json(){var e=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(a){return convertBody(a,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const a of Object.getOwnPropertyNames(Body.prototype)){if(!(a in e)){const p=Object.getOwnPropertyDescriptor(Body.prototype,a);Object.defineProperty(e,a,p)}}};function consumeBody(){var e=this;if(this[c].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[c].disturbed=true;if(this[c].error){return Body.Promise.reject(this[c].error)}let a=this.body;if(a===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(a)){a=a.stream()}if(Buffer.isBuffer(a)){return Body.Promise.resolve(a)}if(!(a instanceof t)){return Body.Promise.resolve(Buffer.alloc(0))}let p=[];let r=0;let d=false;return new Body.Promise((function(t,s){let i;if(e.timeout){i=setTimeout((function(){d=true;s(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}a.on("error",(function(a){if(a.name==="AbortError"){d=true;s(a)}else{s(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${a.message}`,"system",a))}}));a.on("data",(function(a){if(d||a===null){return}if(e.size&&r+a.length>e.size){d=true;s(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}r+=a.length;p.push(a)}));a.on("end",(function(){if(d){return}clearTimeout(i);try{t(Buffer.concat(p,r))}catch(a){s(new FetchError(`Could not create Buffer from response body for ${e.url}: ${a.message}`,"system",a))}}))}))}function convertBody(e,a){if(typeof u!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const p=a.get("content-type");let t="utf-8";let r,d;if(p){r=/charset=([^;]*)/i.exec(p)}d=e.slice(0,1024).toString();if(!r&&d){r=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[w]=Object.create(null);if(e instanceof Headers){const a=e.raw();const p=Object.keys(a);for(const e of p){for(const p of a[e]){this.append(e,p)}}return}if(e==null);else if(typeof e==="object"){const a=e[Symbol.iterator];if(a!=null){if(typeof a!=="function"){throw new TypeError("Header pairs must be iterable")}const p=[];for(const a of e){if(typeof a!=="object"||typeof a[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}p.push(Array.from(a))}for(const e of p){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const a of Object.keys(e)){const p=e[a];this.append(a,p)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const a=find(this[w],e);if(a===undefined){return null}return this[w][a].join(", ")}forEach(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let p=getHeaders(this);let t=0;while(t1&&arguments[1]!==undefined?arguments[1]:"key+value";const p=Object.keys(e[w]).sort();return p.map(a==="key"?function(e){return e.toLowerCase()}:a==="value"?function(a){return e[w][a].join(", ")}:function(a){return[a.toLowerCase(),e[w][a].join(", ")]})}const _=Symbol("internal");function createHeadersIterator(e,a){const p=Object.create(b);p[_]={target:e,kind:a,index:0};return p}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[_];const a=e.target,p=e.kind,t=e.index;const r=getHeaders(a,p);const d=r.length;if(t>=d){return{value:undefined,done:true}}this[_].index=t+1;return{value:r[t],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const a=Object.assign({__proto__:null},e[w]);const p=find(e[w],"Host");if(p!==undefined){a[p]=a[p][0]}return a}function createHeadersLenient(e){const a=new Headers;for(const p of Object.keys(e)){if(h.test(p)){continue}if(Array.isArray(e[p])){for(const t of e[p]){if(g.test(t)){continue}if(a[w][p]===undefined){a[w][p]=[t]}else{a[w][p].push(t)}}}else if(!g.test(e[p])){a[w][p]=[e[p]]}}return a}const T=Symbol("Response internals");const E=r.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,a);const p=a.status||200;const t=new Headers(a.headers);if(e!=null&&!t.has("Content-Type")){const a=extractContentType(e);if(a){t.append("Content-Type",a)}}this[T]={url:a.url,status:p,statusText:a.statusText||E[p],headers:t,counter:a.counter}}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const y=Symbol("Request internals");const S=d.URL||s.URL;const O=d.parse;const D=d.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new S(e).toString()}return O(e)}const k="destroy"in t.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const a=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(a&&a.constructor.name==="AbortSignal")}class Request{constructor(e){let a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let p;if(!isRequest(e)){if(e&&e.href){p=parseURL(e.href)}else{p=parseURL(`${e}`)}e={}}else{p=parseURL(e.url)}let t=a.method||e.method||"GET";t=t.toUpperCase();if((a.body!=null||isRequest(e)&&e.body!==null)&&(t==="GET"||t==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let r=a.body!=null?a.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,r,{timeout:a.timeout||e.timeout||0,size:a.size||e.size||0});const d=new Headers(a.headers||e.headers||{});if(r!=null&&!d.has("Content-Type")){const e=extractContentType(r);if(e){d.append("Content-Type",e)}}let s=isRequest(e)?e.signal:null;if("signal"in a)s=a.signal;if(s!=null&&!isAbortSignal(s)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:t,redirect:a.redirect||e.redirect||"follow",headers:d,parsedURL:p,signal:s};this.follow=a.follow!==undefined?a.follow:e.follow!==undefined?e.follow:20;this.compress=a.compress!==undefined?a.compress:e.compress!==undefined?e.compress:true;this.counter=a.counter||e.counter||0;this.agent=a.agent||e.agent}get method(){return this[y].method}get url(){return D(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const a=e[y].parsedURL;const p=new Headers(e[y].headers);if(!p.has("Accept")){p.set("Accept","*/*")}if(!a.protocol||!a.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(a.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof t.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let r=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){r="0"}if(e.body!=null){const a=getTotalBytes(e);if(typeof a==="number"){r=String(a)}}if(r){p.set("Content-Length",r)}if(!p.has("User-Agent")){p.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!p.has("Accept-Encoding")){p.set("Accept-Encoding","gzip,deflate")}let d=e.agent;if(typeof d==="function"){d=d(a)}if(!p.has("Connection")&&!d){p.set("Connection","close")}return Object.assign({},a,{method:e.method,headers:exportNodeCompatibleHeaders(p),agent:d})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const P=d.URL||s.URL;const A=t.PassThrough;const N=function isDomainOrSubdomain(e,a){const p=new P(a).hostname;const t=new P(e).hostname;return p===t||p[p.length-t.length-1]==="."&&p.endsWith(t)};const G=function isSameProtocol(e,a){const p=new P(a).protocol;const t=new P(e).protocol;return p===t};function fetch(e,a){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(p,d){const s=new Request(e,a);const n=getNodeRequestOptions(s);const l=(n.protocol==="https:"?i:r).request;const m=s.signal;let u=null;const c=function abort(){let e=new AbortError("The user aborted a request.");d(e);if(s.body&&s.body instanceof t.Readable){destroyStream(s.body,e)}if(!u||!u.body)return;u.body.emit("error",e)};if(m&&m.aborted){c();return}const v=function abortAndFinalize(){c();finalize()};const h=l(n);let g;if(m){m.addEventListener("abort",v)}function finalize(){h.abort();if(m)m.removeEventListener("abort",v);clearTimeout(g)}if(s.timeout){h.once("socket",(function(e){g=setTimeout((function(){d(new FetchError(`network timeout at: ${s.url}`,"request-timeout"));finalize()}),s.timeout)}))}h.on("error",(function(e){d(new FetchError(`request to ${s.url} failed, reason: ${e.message}`,"system",e));if(u&&u.body){destroyStream(u.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(h,(function(e){if(m&&m.aborted){return}if(u&&u.body){destroyStream(u.body,e)}}));if(parseInt(process.version.substring(1))<14){h.on("socket",(function(e){e.addListener("close",(function(a){const p=e.listenerCount("data")>0;if(u&&p&&!a&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";u.body.emit("error",e)}}))}))}h.on("response",(function(e){clearTimeout(g);const a=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const t=a.get("Location");let r=null;try{r=t===null?null:new P(t,s.url).toString()}catch(e){if(s.redirect!=="manual"){d(new FetchError(`uri requested responds with an invalid redirect URL: ${t}`,"invalid-redirect"));finalize();return}}switch(s.redirect){case"error":d(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${s.url}`,"no-redirect"));finalize();return;case"manual":if(r!==null){try{a.set("Location",r)}catch(e){d(e)}}break;case"follow":if(r===null){break}if(s.counter>=s.follow){d(new FetchError(`maximum redirect reached at: ${s.url}`,"max-redirect"));finalize();return}const t={headers:new Headers(s.headers),follow:s.follow,counter:s.counter+1,agent:s.agent,compress:s.compress,method:s.method,body:s.body,signal:s.signal,timeout:s.timeout,size:s.size};if(!N(s.url,r)||!G(s.url,r)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){t.headers.delete(e)}}if(e.statusCode!==303&&s.body&&getTotalBytes(s)===null){d(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&s.method==="POST"){t.method="GET";t.body=undefined;t.headers.delete("content-length")}p(fetch(new Request(r,t)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let t=e.pipe(new A);const r={url:s.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:s.size,timeout:s.timeout,counter:s.counter};const i=a.get("Content-Encoding");if(!s.compress||s.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){u=new Response(t,r);p(u);return}const n={flush:o.Z_SYNC_FLUSH,finishFlush:o.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){t=t.pipe(o.createGunzip(n));u=new Response(t,r);p(u);return}if(i=="deflate"||i=="x-deflate"){const a=e.pipe(new A);a.once("data",(function(e){if((e[0]&15)===8){t=t.pipe(o.createInflate())}else{t=t.pipe(o.createInflateRaw())}u=new Response(t,r);p(u)}));a.on("end",(function(){if(!u){u=new Response(t,r);p(u)}}));return}if(i=="br"&&typeof o.createBrotliDecompress==="function"){t=t.pipe(o.createBrotliDecompress());u=new Response(t,r);p(u);return}u=new Response(t,r);p(u)}));writeToStream(h,s)}))}function fixResponseChunkedTransferBadEnding(e,a){let p;e.on("socket",(function(e){p=e}));e.on("response",(function(e){const t=e.headers;if(t["transfer-encoding"]==="chunked"&&!t["content-length"]){e.once("close",(function(e){const t=p.listenerCount("data")>0;if(t&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";a(e)}}))}}))}function destroyStream(e,a){if(e.destroy){e.destroy(a)}else{e.emit("error",a);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=a=fetch;Object.defineProperty(a,"__esModule",{value:true});a["default"]=a;a.Headers=Headers;a.Request=Request;a.Response=Response;a.FetchError=FetchError},1223:(e,a,p)=>{var t=p(2940);e.exports=t(once);e.exports.strict=t(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var a=e.name||"Function wrapped with `once`";f.onceError=a+" shouldn't be called more than once";f.called=false;return f}},4256:(e,a,p)=>{"use strict";var t=p(5477);var r=p(2020);var d={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var a=0;var p=r.length-1;while(a<=p){var t=Math.floor((a+p)/2);var d=r[t];if(d[0][0]<=e&&d[0][1]>=e){return d}else if(d[0][0]>e){p=t-1}else{a=t+1}}return null}var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(s,"_").length}function mapChars(e,a,p){var t=false;var r="";var s=countSymbols(e);for(var i=0;i253||i.length===0){d.error=true}for(var o=0;o63||s.length===0){d.error=true;break}}}if(d.error)return null;return s.join(".")};e.exports.toUnicode=function(e,a){var p=processing(e,a,d.NONTRANSITIONAL);return{domain:p.string,error:p.error}};e.exports.PROCESSING_OPTIONS=d},4294:(e,a,p)=>{e.exports=p(4219)},4219:(e,a,p)=>{"use strict";var t=p(1808);var r=p(4404);var d=p(3685);var s=p(5687);var i=p(2361);var o=p(9491);var n=p(3837);a.httpOverHttp=httpOverHttp;a.httpsOverHttp=httpsOverHttp;a.httpOverHttps=httpOverHttps;a.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var a=new TunnelingAgent(e);a.request=d.request;return a}function httpsOverHttp(e){var a=new TunnelingAgent(e);a.request=d.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function httpOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;return a}function httpsOverHttps(e){var a=new TunnelingAgent(e);a.request=s.request;a.createSocket=createSecureSocket;a.defaultPort=443;return a}function TunnelingAgent(e){var a=this;a.options=e||{};a.proxyOptions=a.options.proxy||{};a.maxSockets=a.options.maxSockets||d.Agent.defaultMaxSockets;a.requests=[];a.sockets=[];a.on("free",(function onFree(e,p,t,r){var d=toOptions(p,t,r);for(var s=0,i=a.requests.length;s=this.maxSockets){r.requests.push(d);return}r.createSocket(d,(function(a){a.on("free",onFree);a.on("close",onCloseOrRemove);a.on("agentRemove",onCloseOrRemove);e.onSocket(a);function onFree(){r.emit("free",a,d)}function onCloseOrRemove(e){r.removeSocket(a);a.removeListener("free",onFree);a.removeListener("close",onCloseOrRemove);a.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,a){var p=this;var t={};p.sockets.push(t);var r=mergeOptions({},p.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){r.localAddress=e.localAddress}if(r.proxyAuth){r.headers=r.headers||{};r.headers["Proxy-Authorization"]="Basic "+new Buffer(r.proxyAuth).toString("base64")}l("making CONNECT request");var d=p.request(r);d.useChunkedEncodingByDefault=false;d.once("response",onResponse);d.once("upgrade",onUpgrade);d.once("connect",onConnect);d.once("error",onError);d.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,a,p){process.nextTick((function(){onConnect(e,a,p)}))}function onConnect(r,s,i){d.removeAllListeners();s.removeAllListeners();if(r.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",r.statusCode);s.destroy();var o=new Error("tunneling socket could not be established, "+"statusCode="+r.statusCode);o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}if(i.length>0){l("got illegal response body from proxy");s.destroy();var o=new Error("got illegal response body from proxy");o.code="ECONNRESET";e.request.emit("error",o);p.removeSocket(t);return}l("tunneling connection has established");p.sockets[p.sockets.indexOf(t)]=s;return a(s)}function onError(a){d.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",a.message,a.stack);var r=new Error("tunneling socket could not be established, "+"cause="+a.message);r.code="ECONNRESET";e.request.emit("error",r);p.removeSocket(t)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var a=this.sockets.indexOf(e);if(a===-1){return}this.sockets.splice(a,1);var p=this.requests.shift();if(p){this.createSocket(p,(function(e){p.request.onSocket(e)}))}};function createSecureSocket(e,a){var p=this;TunnelingAgent.prototype.createSocket.call(p,e,(function(t){var d=e.request.getHeader("host");var s=mergeOptions({},p.options,{socket:t,servername:d?d.replace(/:.*$/,""):e.host});var i=r.connect(0,s);p.sockets[p.sockets.indexOf(t)]=i;a(i)}))}function toOptions(e,a,p){if(typeof e==="string"){return{host:e,port:a,localAddress:p}}return e}function mergeOptions(e){for(var a=1,p=arguments.length;a{"use strict";Object.defineProperty(a,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}a.getUserAgent=getUserAgent},5840:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});Object.defineProperty(a,"v1",{enumerable:true,get:function(){return t.default}});Object.defineProperty(a,"v3",{enumerable:true,get:function(){return r.default}});Object.defineProperty(a,"v4",{enumerable:true,get:function(){return d.default}});Object.defineProperty(a,"v5",{enumerable:true,get:function(){return s.default}});Object.defineProperty(a,"NIL",{enumerable:true,get:function(){return i.default}});Object.defineProperty(a,"version",{enumerable:true,get:function(){return o.default}});Object.defineProperty(a,"validate",{enumerable:true,get:function(){return n.default}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(a,"parse",{enumerable:true,get:function(){return m.default}});var t=_interopRequireDefault(p(8628));var r=_interopRequireDefault(p(6409));var d=_interopRequireDefault(p(5122));var s=_interopRequireDefault(p(9120));var i=_interopRequireDefault(p(5332));var o=_interopRequireDefault(p(1595));var n=_interopRequireDefault(p(6900));var l=_interopRequireDefault(p(8950));var m=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("md5").update(e).digest()}var r=md5;a["default"]=r},5332:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p="00000000-0000-0000-0000-000000000000";a["default"]=p},2746:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}let a;const p=new Uint8Array(16);p[0]=(a=parseInt(e.slice(0,8),16))>>>24;p[1]=a>>>16&255;p[2]=a>>>8&255;p[3]=a&255;p[4]=(a=parseInt(e.slice(9,13),16))>>>8;p[5]=a&255;p[6]=(a=parseInt(e.slice(14,18),16))>>>8;p[7]=a&255;p[8]=(a=parseInt(e.slice(19,23),16))>>>8;p[9]=a&255;p[10]=(a=parseInt(e.slice(24,36),16))/1099511627776&255;p[11]=a/4294967296&255;p[12]=a>>>24&255;p[13]=a>>>16&255;p[14]=a>>>8&255;p[15]=a&255;return p}var r=parse;a["default"]=r},814:(e,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;a["default"]=p},807:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=rng;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=new Uint8Array(256);let d=r.length;function rng(){if(d>r.length-16){t.default.randomFillSync(r);d=0}return r.slice(d,d+=16)}},5274:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return t.default.createHash("sha1").update(e).digest()}var r=sha1;a["default"]=r},8950:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const r=[];for(let e=0;e<256;++e){r.push((e+256).toString(16).substr(1))}function stringify(e,a=0){const p=(r[e[a+0]]+r[e[a+1]]+r[e[a+2]]+r[e[a+3]]+"-"+r[e[a+4]]+r[e[a+5]]+"-"+r[e[a+6]]+r[e[a+7]]+"-"+r[e[a+8]]+r[e[a+9]]+"-"+r[e[a+10]]+r[e[a+11]]+r[e[a+12]]+r[e[a+13]]+r[e[a+14]]+r[e[a+15]]).toLowerCase();if(!(0,t.default)(p)){throw TypeError("Stringified UUID is invalid")}return p}var d=stringify;a["default"]=d},8628:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var r=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let d;let s;let i=0;let o=0;function v1(e,a,p){let n=a&&p||0;const l=a||new Array(16);e=e||{};let m=e.node||d;let u=e.clockseq!==undefined?e.clockseq:s;if(m==null||u==null){const a=e.random||(e.rng||t.default)();if(m==null){m=d=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]}if(u==null){u=s=(a[6]<<8|a[7])&16383}}let c=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:o+1;const h=c-i+(v-o)/1e4;if(h<0&&e.clockseq===undefined){u=u+1&16383}if((h<0||c>i)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}i=c;o=v;s=u;c+=122192928e5;const g=((c&268435455)*1e4+v)%4294967296;l[n++]=g>>>24&255;l[n++]=g>>>16&255;l[n++]=g>>>8&255;l[n++]=g&255;const w=c/4294967296*1e4&268435455;l[n++]=w>>>8&255;l[n++]=w&255;l[n++]=w>>>24&15|16;l[n++]=w>>>16&255;l[n++]=u>>>8|128;l[n++]=u&255;for(let e=0;e<6;++e){l[n+e]=m[e]}return a||(0,r.default)(l)}var n=v1;a["default"]=n},6409:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var r=_interopRequireDefault(p(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=(0,t.default)("v3",48,r.default);var s=d;a["default"]=s},5998:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=_default;a.URL=a.DNS=void 0;var t=_interopRequireDefault(p(8950));var r=_interopRequireDefault(p(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const a=[];for(let p=0;p{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(807));var r=_interopRequireDefault(p(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,a,p){e=e||{};const d=e.random||(e.rng||t.default)();d[6]=d[6]&15|64;d[8]=d[8]&63|128;if(a){p=p||0;for(let e=0;e<16;++e){a[p+e]=d[e]}return a}return(0,r.default)(d)}var d=v4;a["default"]=d},9120:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(5998));var r=_interopRequireDefault(p(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const d=(0,t.default)("v5",80,r.default);var s=d;a["default"]=s},6900:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&t.default.test(e)}var r=validate;a["default"]=r},1595:(e,a,p)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});a["default"]=void 0;var t=_interopRequireDefault(p(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,t.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var r=version;a["default"]=r},4886:e=>{"use strict";var a={};e.exports=a;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,a){if(!a.unsigned){--e}const p=a.unsigned?0:-Math.pow(2,e);const t=Math.pow(2,e)-1;const r=a.moduloBitLength?Math.pow(2,a.moduloBitLength):Math.pow(2,e);const d=a.moduloBitLength?Math.pow(2,a.moduloBitLength-1):Math.pow(2,e-1);return function(e,s){if(!s)s={};let i=+e;if(s.enforceRange){if(!Number.isFinite(i)){throw new TypeError("Argument is not a finite number")}i=sign(i)*Math.floor(Math.abs(i));if(it){throw new TypeError("Argument is not in byte range")}return i}if(!isNaN(i)&&s.clamp){i=evenRound(i);if(it)i=t;return i}if(!Number.isFinite(i)||i===0){return 0}i=sign(i)*Math.floor(Math.abs(i));i=i%r;if(!a.unsigned&&i>=d){return i-r}else if(a.unsigned){if(i<0){i+=r}else if(i===-0){return 0}}return i}}a["void"]=function(){return undefined};a["boolean"]=function(e){return!!e};a["byte"]=createNumberConversion(8,{unsigned:false});a["octet"]=createNumberConversion(8,{unsigned:true});a["short"]=createNumberConversion(16,{unsigned:false});a["unsigned short"]=createNumberConversion(16,{unsigned:true});a["long"]=createNumberConversion(32,{unsigned:false});a["unsigned long"]=createNumberConversion(32,{unsigned:true});a["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});a["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});a["double"]=function(e){const a=+e;if(!Number.isFinite(a)){throw new TypeError("Argument is not a finite floating-point value")}return a};a["unrestricted double"]=function(e){const a=+e;if(isNaN(a)){throw new TypeError("Argument is NaN")}return a};a["float"]=a["double"];a["unrestricted float"]=a["unrestricted double"];a["DOMString"]=function(e,a){if(!a)a={};if(a.treatNullAsEmptyString&&e===null){return""}return String(e)};a["ByteString"]=function(e,a){const p=String(e);let t=undefined;for(let e=0;(t=p.codePointAt(e))!==undefined;++e){if(t>255){throw new TypeError("Argument is not a valid bytestring")}}return p};a["USVString"]=function(e){const a=String(e);const p=a.length;const t=[];for(let e=0;e57343){t.push(String.fromCodePoint(r))}else if(56320<=r&&r<=57343){t.push(String.fromCodePoint(65533))}else{if(e===p-1){t.push(String.fromCodePoint(65533))}else{const p=a.charCodeAt(e+1);if(56320<=p&&p<=57343){const a=r&1023;const d=p&1023;t.push(String.fromCodePoint((2<<15)+(2<<9)*a+d));++e}else{t.push(String.fromCodePoint(65533))}}}}return t.join("")};a["Date"]=function(e,a){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};a["RegExp"]=function(e,a){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,a,p)=>{"use strict";const t=p(2158);a.implementation=class URLImpl{constructor(e){const a=e[0];const p=e[1];let r=null;if(p!==undefined){r=t.basicURLParse(p);if(r==="failure"){throw new TypeError("Invalid base URL")}}const d=t.basicURLParse(a,{baseURL:r});if(d==="failure"){throw new TypeError("Invalid URL")}this._url=d}get href(){return t.serializeURL(this._url)}set href(e){const a=t.basicURLParse(e);if(a==="failure"){throw new TypeError("Invalid URL")}this._url=a}get origin(){return t.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){t.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}t.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return t.serializeHost(e.host)}return t.serializeHost(e.host)+":"+t.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return t.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}t.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return t.serializeInteger(this._url.port)}set port(e){if(t.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{t.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];t.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const a=this._url;if(e===""){a.query=null;return}const p=e[0]==="?"?e.substring(1):e;a.query="";t.basicURLParse(p,{url:a,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const a=e[0]==="#"?e.substring(1):e;this._url.fragment="";t.basicURLParse(a,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,a,p)=>{"use strict";const t=p(4886);const r=p(3185);const d=p(7537);const s=r.implSymbol;function URL(a){if(!this||this[s]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const p=[];for(let e=0;e{"use strict";a.URL=p(3394)["interface"];a.serializeURL=p(2158).serializeURL;a.serializeURLOrigin=p(2158).serializeURLOrigin;a.basicURLParse=p(2158).basicURLParse;a.setTheUsername=p(2158).setTheUsername;a.setThePassword=p(2158).setThePassword;a.serializeHost=p(2158).serializeHost;a.serializeInteger=p(2158).serializeInteger;a.parseURL=p(2158).parseURL},2158:(e,a,p)=>{"use strict";const t=p(5477);const r=p(4256);const d={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const s=Symbol("failure");function countSymbols(e){return t.ucs2.decode(e).length}function at(e,a){const p=e[a];return isNaN(p)?undefined:String.fromCodePoint(p)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,a){return isASCIIAlpha(e)&&(a===58||a===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return d[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return d[e]}function percentEncode(e){let a=e.toString(16).toUpperCase();if(a.length===1){a="0"+a}return"%"+a}function utf8PercentEncode(e){const a=new Buffer(e);let p="";for(let e=0;e126}const i=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||i.has(e)}const o=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||o.has(e)}function percentEncodeChar(e,a){const p=String.fromCodePoint(e);if(a(e)){return utf8PercentEncode(p)}return p}function parseIPv4Number(e){let a=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);a=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);a=8}if(e===""){return 0}const p=a===10?/[^0-9]/:a===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(p.test(e)){return s}return parseInt(e,a)}function parseIPv4(e){const a=e.split(".");if(a[a.length-1]===""){if(a.length>1){a.pop()}}if(a.length>4){return e}const p=[];for(const t of a){if(t===""){return e}const a=parseIPv4Number(t);if(a===s){return e}p.push(a)}for(let e=0;e255){return s}}if(p[p.length-1]>=Math.pow(256,5-p.length)){return s}let t=p.pop();let r=0;for(const e of p){t+=e*Math.pow(256,3-r);++r}return t}function serializeIPv4(e){let a="";let p=e;for(let e=1;e<=4;++e){a=String(p%256)+a;if(e!==4){a="."+a}p=Math.floor(p/256)}return a}function parseIPv6(e){const a=[0,0,0,0,0,0,0,0];let p=0;let r=null;let d=0;e=t.ucs2.decode(e);if(e[d]===58){if(e[d+1]!==58){return s}d+=2;++p;r=p}while(d6){return s}let t=0;while(e[d]!==undefined){let r=null;if(t>0){if(e[d]===46&&t<4){++d}else{return s}}if(!isASCIIDigit(e[d])){return s}while(isASCIIDigit(e[d])){const a=parseInt(at(e,d));if(r===null){r=a}else if(r===0){return s}else{r=r*10+a}if(r>255){return s}++d}a[p]=a[p]*256+r;++t;if(t===2||t===4){++p}}if(t!==4){return s}break}else if(e[d]===58){++d;if(e[d]===undefined){return s}}else if(e[d]!==undefined){return s}a[p]=t;++p}if(r!==null){let e=p-r;p=7;while(p!==0&&e>0){const t=a[r+e-1];a[r+e-1]=a[p];a[p]=t;--p;--e}}else if(r===null&&p!==8){return s}return a}function serializeIPv6(e){let a="";const p=findLongestZeroSequence(e);const t=p.idx;let r=false;for(let p=0;p<=7;++p){if(r&&e[p]===0){continue}else if(r){r=false}if(t===p){const e=p===0?"::":":";a+=e;r=true;continue}a+=e[p].toString(16);if(p!==7){a+=":"}}return a}function parseHost(e,a){if(e[0]==="["){if(e[e.length-1]!=="]"){return s}return parseIPv6(e.substring(1,e.length-1))}if(!a){return parseOpaqueHost(e)}const p=utf8PercentDecode(e);const t=r.toASCII(p,false,r.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(t===null){return s}if(containsForbiddenHostCodePoint(t)){return s}const d=parseIPv4(t);if(typeof d==="number"||d===s){return d}return t}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return s}let a="";const p=t.ucs2.decode(e);for(let e=0;ep){a=t;p=r}t=null;r=0}else{if(t===null){t=d}++r}}if(r>p){a=t;p=r}return{idx:a,len:p}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const a=e.path;if(a.length===0){return}if(e.scheme==="file"&&a.length===1&&isNormalizedWindowsDriveLetter(a[0])){return}a.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,a,p,r,d){this.pointer=0;this.input=e;this.base=a||null;this.encodingOverride=p||"utf-8";this.stateOverride=d;this.url=r;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const i=trimTabAndNewline(this.input);if(i!==this.input){this.parseError=true}this.input=i;this.state=d||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=t.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const a=isNaN(e)?undefined:String.fromCodePoint(e);const p=this["parse "+this.state](e,a);if(!p){break}else if(p===s){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,a){if(isASCIIAlpha(e)){this.buffer+=a.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,a){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=a.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return s}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return s}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,a){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let a=0;aMath.pow(2,16)-1){this.parseError=true;return s}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return s}return true};const n=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!n.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,a){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===s){return s}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=a}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,a){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const a=new Buffer(this.buffer);for(let e=0;e126||a[e]===34||a[e]===35||a[e]===60||a[e]===62){this.url.query+=percentEncode(a[e])}else{this.url.query+=String.fromCodePoint(a[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=a}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,a){let p=e.scheme+":";if(e.host!==null){p+="//";if(e.username!==""||e.password!==""){p+=e.username;if(e.password!==""){p+=":"+e.password}p+="@"}p+=serializeHost(e.host);if(e.port!==null){p+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){p+="//"}if(e.cannotBeABaseURL){p+=e.path[0]}else{for(const a of e.path){p+="/"+a}}if(e.query!==null){p+="?"+e.query}if(!a&&e.fragment!==null){p+="#"+e.fragment}return p}function serializeOrigin(e){let a=e.scheme+"://";a+=serializeHost(e.host);if(e.port!==null){a+=":"+e.port}return a}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(a){switch(a.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(a.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:a.scheme,host:a.host,port:a.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,a){if(a===undefined){a={}}const p=new URLStateMachine(e,a.baseURL,a.encodingOverride,a.url,a.stateOverride);if(p.failure){return"failure"}return p.url};e.exports.setTheUsername=function(e,a){e.username="";const p=t.ucs2.decode(a);for(let a=0;a{"use strict";e.exports.mixin=function mixin(e,a){const p=Object.getOwnPropertyNames(a);for(let t=0;t{e.exports=wrappy;function wrappy(e,a){if(e&&a)return wrappy(e)(a);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(a){wrapper[a]=e[a]}));return wrapper;function wrapper(){var a=new Array(arguments.length);for(var p=0;p{module.exports=eval("require")("encoding")},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3292:e=>{"use strict";e.exports=require("fs/promises")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},5477:e=>{"use strict";e.exports=require("punycode")},2781:e=>{"use strict";e.exports=require("stream")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},1542:e=>{"use strict";e.exports=JSON.parse('{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\\r\\nkind: Database\\r\\nmetadata:\\r\\n name: database-sample\\r\\nspec:\\r\\n monitoring:\\r\\n enabled: true\\r\\n interval: 3s\\r\\n additionalLabels:\\r\\n ydb-cluster: slo-storage\\r\\n ydb-cluster-monitor: slo-storage\\r\\n affinity:\\r\\n podAntiAffinity:\\r\\n requiredDuringSchedulingIgnoredDuringExecution:\\r\\n - labelSelector:\\r\\n matchExpressions:\\r\\n - key: ydb-cluster\\r\\n operator: In\\r\\n values:\\r\\n - slo-storage\\r\\n topologyKey: \'kubernetes.io/hostname\'\\r\\n image:\\r\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\r\\n nodes: 6\\r\\n resources:\\r\\n containerResources:\\r\\n limits:\\r\\n cpu: 1\\r\\n storageUnits:\\r\\n - count: 1\\r\\n unitKind: ssd\\r\\n storageClusterRef:\\r\\n name: storage-sample\\r\\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\\r\\nkind: Storage\\r\\nmetadata:\\r\\n name: storage-sample\\r\\nspec:\\r\\n monitoring:\\r\\n enabled: true\\r\\n interval: 3s\\r\\n additionalLabels:\\r\\n ydb-cluster: slo-storage\\r\\n ydb-cluster-monitor: slo-storage\\r\\n affinity:\\r\\n podAntiAffinity:\\r\\n requiredDuringSchedulingIgnoredDuringExecution:\\r\\n - labelSelector:\\r\\n matchExpressions:\\r\\n - key: ydb-cluster\\r\\n operator: In\\r\\n values:\\r\\n - slo-storage\\r\\n topologyKey: \'kubernetes.io/hostname\'\\r\\n dataStore:\\r\\n - volumeMode: Block\\r\\n storageClassName: yc-network-ssd-nonreplicated\\r\\n accessModes:\\r\\n - ReadWriteOnce\\r\\n resources:\\r\\n requests:\\r\\n storage: 93Gi\\r\\n image:\\r\\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\\r\\n nodes: 9\\r\\n erasure: mirror-3-dc\\r\\n configuration: |-\\r\\n static_erasure: mirror-3-dc\\r\\n host_configs:\\r\\n - drive:\\r\\n - path: /dev/kikimr_ssd_00\\r\\n type: SSD\\r\\n host_config_id: 1\\r\\n grpc_config:\\r\\n port: 2135\\r\\n domains_config:\\r\\n domain:\\r\\n - name: root\\r\\n storage_pool_types:\\r\\n - kind: ssd\\r\\n pool_config:\\r\\n box_id: 1\\r\\n erasure_species: mirror-3-dc\\r\\n kind: ssd\\r\\n pdisk_filter:\\r\\n - property:\\r\\n - type: SSD\\r\\n vdisk_kind: Default\\r\\n state_storage:\\r\\n - ring:\\r\\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\\r\\n nto_select: 5\\r\\n ssid: 1\\r\\n actor_system_config:\\r\\n batch_executor: 2\\r\\n io_executor: 3\\r\\n executor:\\r\\n - name: System\\r\\n spin_threshold: 0\\r\\n threads: 2\\r\\n type: BASIC\\r\\n - name: User\\r\\n spin_threshold: 0\\r\\n threads: 3\\r\\n type: BASIC\\r\\n - name: Batch\\r\\n spin_threshold: 0\\r\\n threads: 2\\r\\n type: BASIC\\r\\n - name: IO\\r\\n threads: 1\\r\\n time_per_mailbox_micro_secs: 100\\r\\n type: IO\\r\\n - name: IC\\r\\n spin_threshold: 10\\r\\n threads: 1\\r\\n time_per_mailbox_micro_secs: 100\\r\\n type: BASIC\\r\\n scheduler:\\r\\n progress_threshold: 10000\\r\\n resolution: 256\\r\\n spin_threshold: 0\\r\\n service_executor:\\r\\n - executor_id: 4\\r\\n service_name: Interconnect\\r\\n blob_storage_config:\\r\\n service_set:\\r\\n availability_domains: 1\\r\\n groups:\\r\\n - erasure_species: mirror-3-dc\\r\\n group_id: 0\\r\\n group_generation: 1\\r\\n rings:\\r\\n - fail_domains:\\r\\n - vdisk_locations:\\r\\n - node_id: 1\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - vdisk_locations:\\r\\n - node_id: 2\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - vdisk_locations:\\r\\n - node_id: 3\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - fail_domains:\\r\\n - vdisk_locations:\\r\\n - node_id: 4\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - vdisk_locations:\\r\\n - node_id: 5\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - vdisk_locations:\\r\\n - node_id: 6\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - fail_domains:\\r\\n - vdisk_locations:\\r\\n - node_id: 7\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - vdisk_locations:\\r\\n - node_id: 8\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n - vdisk_locations:\\r\\n - node_id: 9\\r\\n pdisk_category: SSD\\r\\n path: /dev/kikimr_ssd_00\\r\\n channel_profile_config:\\r\\n profile:\\r\\n - channel:\\r\\n - erasure_species: mirror-3-dc\\r\\n pdisk_category: 1\\r\\n storage_pool_kind: ssd\\r\\n - erasure_species: mirror-3-dc\\r\\n pdisk_category: 1\\r\\n storage_pool_kind: ssd\\r\\n - erasure_species: mirror-3-dc\\r\\n pdisk_category: 1\\r\\n storage_pool_kind: ssd\\r\\n profile_id: 0\\r\\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\\r\\nkind: Job\\r\\nmetadata:\\r\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\r\\nspec:\\r\\n ttlSecondsAfterFinished: 120\\r\\n backoffLimit: 0\\r\\n template:\\r\\n metadata:\\r\\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\r\\n spec:\\r\\n containers:\\r\\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\\r\\n image: ${{DOCKER_IMAGE}}:latest\\r\\n args:\\r\\n - \'${{COMMAND}}\'\\r\\n - ${{ARGS}}\\r\\n restartPolicy: Never\\r\\n"}}')},2020:e=>{"use strict";e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var a=__webpack_module_cache__[e];if(a!==undefined){return a.exports}var p=__webpack_module_cache__[e]={exports:{}};var t=true;try{__webpack_modules__[e].call(p.exports,p,p.exports,__nccwpck_require__);t=false}finally{if(t)delete __webpack_module_cache__[e]}return p.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(3109);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/src/manifests.json b/src/manifests.json index 7ce6008d..8129164e 100644 --- a/src/manifests.json +++ b/src/manifests.json @@ -1 +1 @@ -{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Database\nmetadata:\n name: database-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 6\n resources:\n containerResources:\n limits:\n cpu: 1\n storageUnits:\n - count: 1\n unitKind: ssd\n storageClusterRef:\n name: storage-sample\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\nkind: Storage\nmetadata:\n name: storage-sample\nspec:\n monitoring:\n enabled: true\n interval: 3s\n additionalLabels:\n ydb-cluster: slo-storage\n ydb-cluster-monitor: slo-storage\n affinity:\n podAntiAffinity:\n requiredDuringSchedulingIgnoredDuringExecution:\n - labelSelector:\n matchExpressions:\n - key: ydb-cluster\n operator: In\n values:\n - slo-storage\n topologyKey: 'kubernetes.io/hostname'\n dataStore:\n - volumeMode: Block\n storageClassName: yc-network-ssd-nonreplicated\n accessModes:\n - ReadWriteOnce\n resources:\n requests:\n storage: 93Gi\n image:\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\n nodes: 9\n erasure: mirror-3-dc\n configuration: |-\n static_erasure: mirror-3-dc\n host_configs:\n - drive:\n - path: /dev/kikimr_ssd_00\n type: SSD\n host_config_id: 1\n grpc_config:\n port: 2135\n domains_config:\n domain:\n - name: root\n storage_pool_types:\n - kind: ssd\n pool_config:\n box_id: 1\n erasure_species: mirror-3-dc\n kind: ssd\n pdisk_filter:\n - property:\n - type: SSD\n vdisk_kind: Default\n state_storage:\n - ring:\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\n nto_select: 5\n ssid: 1\n actor_system_config:\n batch_executor: 2\n io_executor: 3\n executor:\n - name: System\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: User\n spin_threshold: 0\n threads: 3\n type: BASIC\n - name: Batch\n spin_threshold: 0\n threads: 2\n type: BASIC\n - name: IO\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: IO\n - name: IC\n spin_threshold: 10\n threads: 1\n time_per_mailbox_micro_secs: 100\n type: BASIC\n scheduler:\n progress_threshold: 10000\n resolution: 256\n spin_threshold: 0\n service_executor:\n - executor_id: 4\n service_name: Interconnect\n blob_storage_config:\n service_set:\n availability_domains: 1\n groups:\n - erasure_species: mirror-3-dc\n group_id: 0\n group_generation: 1\n rings:\n - fail_domains:\n - vdisk_locations:\n - node_id: 1\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 2\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 3\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 4\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 5\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 6\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - fail_domains:\n - vdisk_locations:\n - node_id: 7\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 8\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n - vdisk_locations:\n - node_id: 9\n pdisk_category: SSD\n path: /dev/kikimr_ssd_00\n channel_profile_config:\n profile:\n - channel:\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n - erasure_species: mirror-3-dc\n pdisk_category: 1\n storage_pool_kind: ssd\n profile_id: 0\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\nkind: Job\nmetadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\nspec:\n ttlSecondsAfterFinished: 120\n backoffLimit: 0\n template:\n metadata:\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n spec:\n containers:\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\n image: ${{DOCKER_IMAGE}}:latest\n args:\n - '${{COMMAND}}'\n - ${{ARGS}}\n restartPolicy: Never\n"}} \ No newline at end of file +{"k8s/ci/database.yaml":{"isBinary":false,"fileName":"k8s/ci/database.yaml","originalFileName":"k8s/ci/database.yaml","content":"apiVersion: ydb.tech/v1alpha1\r\nkind: Database\r\nmetadata:\r\n name: database-sample\r\nspec:\r\n monitoring:\r\n enabled: true\r\n interval: 3s\r\n additionalLabels:\r\n ydb-cluster: slo-storage\r\n ydb-cluster-monitor: slo-storage\r\n affinity:\r\n podAntiAffinity:\r\n requiredDuringSchedulingIgnoredDuringExecution:\r\n - labelSelector:\r\n matchExpressions:\r\n - key: ydb-cluster\r\n operator: In\r\n values:\r\n - slo-storage\r\n topologyKey: 'kubernetes.io/hostname'\r\n image:\r\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\r\n nodes: 6\r\n resources:\r\n containerResources:\r\n limits:\r\n cpu: 1\r\n storageUnits:\r\n - count: 1\r\n unitKind: ssd\r\n storageClusterRef:\r\n name: storage-sample\r\n"},"k8s/ci/storage.yaml":{"isBinary":false,"fileName":"k8s/ci/storage.yaml","originalFileName":"k8s/ci/storage.yaml","content":"apiVersion: ydb.tech/v1alpha1\r\nkind: Storage\r\nmetadata:\r\n name: storage-sample\r\nspec:\r\n monitoring:\r\n enabled: true\r\n interval: 3s\r\n additionalLabels:\r\n ydb-cluster: slo-storage\r\n ydb-cluster-monitor: slo-storage\r\n affinity:\r\n podAntiAffinity:\r\n requiredDuringSchedulingIgnoredDuringExecution:\r\n - labelSelector:\r\n matchExpressions:\r\n - key: ydb-cluster\r\n operator: In\r\n values:\r\n - slo-storage\r\n topologyKey: 'kubernetes.io/hostname'\r\n dataStore:\r\n - volumeMode: Block\r\n storageClassName: yc-network-ssd-nonreplicated\r\n accessModes:\r\n - ReadWriteOnce\r\n resources:\r\n requests:\r\n storage: 93Gi\r\n image:\r\n name: cr.yandex/crptqonuodf51kdj7a7d/ydb:${{VERSION}}\r\n nodes: 9\r\n erasure: mirror-3-dc\r\n configuration: |-\r\n static_erasure: mirror-3-dc\r\n host_configs:\r\n - drive:\r\n - path: /dev/kikimr_ssd_00\r\n type: SSD\r\n host_config_id: 1\r\n grpc_config:\r\n port: 2135\r\n domains_config:\r\n domain:\r\n - name: root\r\n storage_pool_types:\r\n - kind: ssd\r\n pool_config:\r\n box_id: 1\r\n erasure_species: mirror-3-dc\r\n kind: ssd\r\n pdisk_filter:\r\n - property:\r\n - type: SSD\r\n vdisk_kind: Default\r\n state_storage:\r\n - ring:\r\n node: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]\r\n nto_select: 5\r\n ssid: 1\r\n actor_system_config:\r\n batch_executor: 2\r\n io_executor: 3\r\n executor:\r\n - name: System\r\n spin_threshold: 0\r\n threads: 2\r\n type: BASIC\r\n - name: User\r\n spin_threshold: 0\r\n threads: 3\r\n type: BASIC\r\n - name: Batch\r\n spin_threshold: 0\r\n threads: 2\r\n type: BASIC\r\n - name: IO\r\n threads: 1\r\n time_per_mailbox_micro_secs: 100\r\n type: IO\r\n - name: IC\r\n spin_threshold: 10\r\n threads: 1\r\n time_per_mailbox_micro_secs: 100\r\n type: BASIC\r\n scheduler:\r\n progress_threshold: 10000\r\n resolution: 256\r\n spin_threshold: 0\r\n service_executor:\r\n - executor_id: 4\r\n service_name: Interconnect\r\n blob_storage_config:\r\n service_set:\r\n availability_domains: 1\r\n groups:\r\n - erasure_species: mirror-3-dc\r\n group_id: 0\r\n group_generation: 1\r\n rings:\r\n - fail_domains:\r\n - vdisk_locations:\r\n - node_id: 1\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - vdisk_locations:\r\n - node_id: 2\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - vdisk_locations:\r\n - node_id: 3\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - fail_domains:\r\n - vdisk_locations:\r\n - node_id: 4\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - vdisk_locations:\r\n - node_id: 5\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - vdisk_locations:\r\n - node_id: 6\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - fail_domains:\r\n - vdisk_locations:\r\n - node_id: 7\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - vdisk_locations:\r\n - node_id: 8\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n - vdisk_locations:\r\n - node_id: 9\r\n pdisk_category: SSD\r\n path: /dev/kikimr_ssd_00\r\n channel_profile_config:\r\n profile:\r\n - channel:\r\n - erasure_species: mirror-3-dc\r\n pdisk_category: 1\r\n storage_pool_kind: ssd\r\n - erasure_species: mirror-3-dc\r\n pdisk_category: 1\r\n storage_pool_kind: ssd\r\n - erasure_species: mirror-3-dc\r\n pdisk_category: 1\r\n storage_pool_kind: ssd\r\n profile_id: 0\r\n"},"k8s/ci/workload.yaml":{"isBinary":false,"fileName":"k8s/ci/workload.yaml","originalFileName":"k8s/ci/workload.yaml","content":"apiVersion: batch/v1\r\nkind: Job\r\nmetadata:\r\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\r\nspec:\r\n ttlSecondsAfterFinished: 120\r\n backoffLimit: 0\r\n template:\r\n metadata:\r\n name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\r\n spec:\r\n containers:\r\n - name: ${{LANGUAGE_ID}}-wl-${{COMMAND}}\r\n image: ${{DOCKER_IMAGE}}:latest\r\n args:\r\n - '${{COMMAND}}'\r\n - ${{ARGS}}\r\n restartPolicy: Never\r\n"}} \ No newline at end of file